Faits: A. Le 2 février 2012, le Tribunal de police du canton de Genève a condamné A._, ressortissant camerounais né en 1982, à 12 mois de privation de liberté pour vols, violation de domicile et utilisation frauduleuse d'un ordinateur. La détention provisoire, de 149 jours, a été déduite, et la peine a été déclarée complémentaire à celle de 30 jours prononcée le 14 mars 2011 par le Ministère public de l'arrondissement de l'Est vaudois. Une libération conditionnelle accordée le 6 novembre 2010 pour une autre peine a été révoquée, le solde à subir étant de 61 jours. Le Tribunal de police a par ailleurs ordonné la détention du condamné, pour des motifs de sûreté. Le 7 février 2012, A._ a recouru auprès de la Chambre pénale de recours de la Cour de justice genevoise contre cette dernière mesure. Il demandait sa mise en liberté immédiate, subordonnée à l'exécution de la peine de 30 jours précitée ainsi qu'à l'exécution d'une peine de 178 jours de détention ordonnée par jugement du Tribunal des peines et mesures (TAPEM) le 3 octobre 2011, en conversion de 712 heures de travail d'intérêt général infligées le 6 novembre 2008. Dans une décision du 6 décembre 2011, le Tribunal des mesures de contraintes (Tmc) avait déjà ordonné une telle mesure de substitution. Subsidiairement, il demandait l'exécution anticipée de la peine infligée le 2 février 2012. B. Par arrêt du 23 février 2012, la Chambre pénale a déclaré irrecevable la demande d'exécution anticipée, non soumise au Tribunal de police. Elle a par ailleurs rejeté le recours, considérant que les conditions d'une détention pour des motifs de sûreté n'étaient pas contestées et que l'exécution des peines ordonnées précédemment ne pouvait pas constituer une mesure de substitution: compte tenu de la libération conditionnelle, il ne restait que trois mois de détention à subir, à l'issue desquels le recourant serait remis en liberté. Faute de faits nouveaux au sens de l'art. 237 al. 5 CPP, une réincarcération ne serait alors plus possible. C. Par acte du 20 mars 2012, A._ forme un recours en matière pénale avec une demande d'assistance judiciaire, par lequel il demande sa mise en liberté immédiate, subordonnée à l'exécution des peines prononcées les 14 mars 2011 et 3 octobre 2011. Subsidiairement, il demande que soit ordonnée l'exécution anticipée de la peine prononcée le 2 février 2012, ou le renvoi de la cause à la cour cantonale pour nouvelle décision. La Chambre pénale de recours maintient sa position. Le Ministère public conclut au rejet du recours. Le recourant a produit de nouvelles observations dans lesquelles il maintient ses griefs et ses conclusions. Il précise en outre que son appel a été retiré afin de pouvoir demeurer en exécution de peine.