Revisalo asi
UPDATE articulos SET articulos.stock = (SELECT articulos.stock - ventas.cantidad AS Resta FROM articulos, ventas WHERE articulos.codigo = ventas.codarticulo and ventas.nfactura=1 AND ventas.codarticulo=1)
El select alli debería devolverte un solo registro, no veo la razón por la cual no podría funcionar..!