Faits:
A. A._, ressortissant français né en 1986, se trouve en détention préventive depuis le 1er août 2010, sous l'inculpation de vol et d'utilisation frauduleuse d'un ordinateur en bande et par métier. Il lui est reproché d'avoir utilisé frauduleusement, à une quinzaine de reprises, des cartes bancaires pour retirer des sommes allant de quelques centaines de francs à 5'000 fr., pour un total de quelque 35'000 fr. Ces faits ont, pour l'essentiel, été reconnus.
Une demande de mise en liberté sous caution de 7000 euros a été rejetée par la Chambre d'accusation genevoise, le 23 novembre 2010. Le prévenu ne fournissait pas d'indication quant à la provenance de la caution. Il convenait d'éviter que le butin non retrouvé puisse être blanchi par ce biais. Le prévenu avait produit un contrat de bail dont l'adresse en France ne correspondait pas à celle qu'il avait donnée; cette incertitude confirmait le risque de non-présentation aux actes de la procédure. Il existait aussi un risque de réitération, car le prévenu avait admis plusieurs antécédents commis en France.
B. Le 9 décembre 2010, A._ a présenté une nouvelle demande de mise en liberté en proposant le versement d'une caution de 7'000 euros fournis par sa belle-soeur, son frère, sa mère et son épouse. Il expliquait que sa seule source de revenus consistait dans des allocations familiales versées en France. Il précisait pouvoir vivre chez sa mère à Toulon, et disposer d'un emploi à sa sortie de prison.
Par ordonnance du 10 décembre 2010, la Chambre d'accusation a rejeté la demande en retenant que l'instruction était terminée et que, comme elle l'avait déjà considéré précédemment, le montant proposé était insuffisant pour garantir la présence de l'inculpé au jugement. Même si la provenance des fonds était maintenant déterminée, la caution proposée ne suffisait pas à pallier le risque de fuite. Les indices à l'appui du risque de réitération résultaient des propres dires de l'inculpé. La durée de la détention restait proportionnée.
C. Par acte du 23 décembre 2010, A._ forme un recours en matière pénale par lequel il demande sa mise en liberté moyennant une caution de 7'000 euros. Il demande l'assistance judiciaire.
La Chambre d'accusation - devenue au 1er janvier 2011 la Chambre pénale de recours - se réfère aux considérants de sa décision. Le Ministère public conclut au rejet du recours. L'audience de jugement a été fixée au 13 janvier 2011. Le recourant a renoncé à répliquer.
Considérant en droit:
1. Selon l'art. 453 du code fédéral de procédure pénale, entrée en vigueur le 1er janvier 2011, les recours formés contre les décisions rendues avant cette date sont traités selon l'ancien droit, soit en l'occurrence le code genevois de procédure pénale (CPP/GE), et par les autorités compétentes sous l'empire de ce droit.
Le recours en matière pénale (art. 78 al. 1 LTF) est ouvert contre une décision relative au maintien en détention préventive. Le recourant a qualité pour agir au sens de l'art. 81 al. 1 let. a LTF; il a agi en temps utile (art. 100 al. 1 LTF) contre une décision rendue en dernière instance cantonale (art. 80 LTF) et les conclusions formées à l'appui de son recours sont recevables au regard de l'art. 107 al. 2 LTF.
2. Le recourant conteste le risque de fuite, en soutenant que la caution proposée, de 7'000 euros, représenterait une garantie suffisante.
2.1 Le risque de fuite est, en soi, indéniable. En effet, le recourant est de nationalité française et sans aucune attache avec la Suisse. Comme il l'admet lui-même, en cas de mise en liberté, il retournerait vivre auprès de sa mère à Toulon où il disposera d'un logement et d'un emploi, et où se trouvent sa femme et ses trois enfants.
2.2 La mise en liberté provisoire peut être accordée moyennant sûretés ou obligations (art. 155 CPP/GE), dont le but est de garantir la présence de l'inculpé aux actes de la procédure et sa soumission au jugement (art. 156 al. 1 CPP/GE). Ces dispositions correspondent à l'art. 5 par. 3, dernière phrase, CEDH, à teneur duquel la mise en liberté peut être subordonnée à une garantie assurant la comparution de l'inculpé à l'audience. Comme succédané de la détention préventive, la mise en liberté sous caution est une application du principe de la proportionnalité. Elle doit donc remplacer la détention, qui ne peut être maintenue qu'en tant qu'ultima ratio (cf. ATF 123 I 268 consid. 2c p. 271).
La libération moyennant sûretés implique un examen approfondi, qui demande une certaine collaboration de la part du prévenu, dès lors que le caractère approprié de la garantie doit être apprécié notamment "par rapport à l'intéressé, à ses ressources, à ses liens avec les personnes appelées à servir de cautions et pour tout dire à la confiance qu'on peut avoir que la perspective de perte du cautionnement ou de l'exécution des cautions en cas de non-comparution à l'audience agira sur lui comme un frein suffisant pour éviter toute velléité de fuite" (ATF 105 Ia 186 consid. 4a p. 187; arrêt 1P.165/2006 du 19 avril 2006 consid. 3.2.1, publié in SJ 2006 I p. 395). Il convient de faire preuve de prudence quant à l'origine des fonds proposés comme sûretés, en particulier lorsque l'instruction porte sur des détournements de fonds (cf. arrêt 1P.570/2003 du 20 octobre 2003). Par ailleurs, pour apprécier la force dissuasive d'un dépôt de sûretés sur les velléités de fuite de la personne concernée, le juge de la détention jouit d'un certain pouvoir d'appréciation, eu égard à sa maîtrise complète du dossier (1B_126/2008 du 2 juin 2008 consid. 3.1). Enfin, si la caution doit être fournie par un tiers, il y a lieu de prendre en considération les relations personnelles et financières du prévenu avec cette personne (arrêt 1P.690/2004 du 14 décembre 2004 consid. 2.4.3 et les références).
2.3 La Chambre d'accusation s'est bornée à considérer que le montant proposé ne permettait pas, en soi, de garantir la présence de l'inculpé au jugement, quand bien même la provenance de la caution était suffisamment étayée. Même si elle apparaît particulièrement lapidaire, une telle motivation peut être en l'espèce confirmée sur le fond. En effet, le recourant paraît certes s'être suffisamment expliqué sur les revenus dont il dispose en France, et sur ses liens étroits avec les membres de sa famille appelés à fournir le montant proposé. Toutefois, dans la mesure où plusieurs personnes seraient appelées à fournir le montant proposé, le recourant devrait exposer la situation patrimoniale de chacune d'entre elles, sans quoi l'on ne saurait s'assurer du rôle dissuasif de la caution, en particulier lorsque le montant proposé apparaît relativement modeste. Or, le recourant produit des déclarations et certains extraits de comptes, sans toutefois s'expliquer suffisamment sur la situation de revenu et de fortune des différents membres de sa famille, ainsi que la cour cantonale était en droit de l'attendre en vertu du devoir de collaboration qui incombe au prévenu sur ce point. Le recourant ne disposera d'ailleurs pas des seules allocations familiales, puisqu'un employeur est prêt à l'engager dès sa sortie de prison. Ainsi formulée, la demande de libération sous caution pouvait à bon droit être écartée.
2.4 Le risque de fuite pouvant être retenu en l'état, il n'y a pas lieu de s'interroger sur l'existence d'un risque de réitération.
3. Le recours doit par conséquent être rejeté. Le recourant a requis l'assistance judiciaire et les conditions en sont réunies. Me Vincent Spira est désigné comme avocat d'office du recourant, rétribué par la caisse du Tribunal fédéral.
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. La demande d'assistance judiciaire est admise; Me Vincent Spira est désigné comme défenseur d'office du recourant et une indemnité de 2000 fr. lui est allouée à titre d'honoraires, à verser par la caisse du Tribunal fédéral; il n'est pas perçu de frais judiciaires.
3. Le présent arrêt est communiqué au mandataire du recourant, au Procureur général du canton de Genève et à la Cour de justice du canton de Genève, Chambre d'accusation.
Lausanne, le 11 janvier 2011
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président: Le Greffier:
Fonjallaz Kurz