Hola , a mi Parecer esta sería La forma optima de Hacer la actualización pero aun soy muy novato en el tema, me gustaria saber de otros puntos de vista y como se podría optimizar la consulta expuesta en caso de haber una mejor implementación.
UPDATE ColocRecupCarteraVenc
SET nCapRecuperado= calc.nCapRecuperado from ColocRecupCarteraVenc CV JOIN(SELECT SUM(mcd.nMonto) as nCapRecuperado,mcd.cCtacod
FROM mov m
INNER JOIN movcol mc on mc.nMovNro=m.nMovNro
INNER JOIN movcoldet mcd on mcd.nMovNro=mc.nMovNro and mcd.cOpeCod=mc.cOpeCod and mcd.cCtaCod=mc.cCtaCod
INNER JOIN ColocRecupCarteraVenc V ON V.cCtaCod = MC.cCtaCod
WHERE m.nMovFlag=0
AND mc.cOpeCod like '100[234567]%'
AND mcd.nPrdConceptoCod IN (1000,1010)
--AND MC.cCtaCod = CV.cCtaCod
AND DBO.FechaHoraMovDate(M.cMovNro)>DBO.FechaHoraMovDate(V.cMovNroActualizacion)
AND V.cPeriodo=(select max(cperiodo) from ColocRecupCarteraVenc)
GROUP BY mcd.cCtacod)as calc ON calc.cCtaCod = CV.cCtaCod