Imagino que la subconsulta
Código SQL
[-]
select recibos.nestado
from recibos
where recibo.nnumfac = recibos.nnumfac
and recibo.ccontador = recibos.ccontador
devolverá más de un registro, quizás por eso el error (no está claro el dato a asignar al campo nestado de la tabla recibo).
Ten en cuenta además que si no pones ningún where en el update se actualizarán todos los registros de la tabla.
Un saludo