Faits : A. Par jugement du 5 juin 2015, le Tribunal correctionnel du canton de Genève a acquitté A._ du chef de meurtre par dol éventuel et l'a reconnu coupable d'homicide par négligence pour avoir participé à une course poursuite ayant abouti à un accident mortel. Il l'a également reconnu coupable de deux violations simples de la LCR, de conduite sans autorisation et de deux conduites sans assurance responsabilité civile. La peine a été fixée à 4 ans et demi de privation de liberté sous déduction de 21 jours de détention avant jugement. Un précédent sursis (40 jours-amende à 30 fr.) a été révoqué. Par décision du même jour, le tribunal a ordonné la mise en détention pour des motifs de sûreté à la requête du Ministère public, retenant qu'il existait un risque de récidive au vu des très mauvais antécédents en matière de circulation routière; il y avait en outre un risque de fuite, l'intéressé étant de nationalité brésilienne et domicilié en France, sa seule attache avec la Suisse étant sa mère qui y résidait; bien qu'il ait comparu libre, il avait été condamné à une lourde peine susceptible d'être aggravée, le Ministère public et les parties plaignantes ayant fait appel du jugement. B. Par arrêt du 30 juin 2015, la Chambre pénale de recours de la Cour de justice du canton de Genève a confirmé la décision de mise en détention. Le 29 janvier 2013, le Tribunal des mesures de contrainte (Tmc) avait ordonné la libération du prévenu moyennant notamment le versement de 3'000 fr. de caution et l'obligation de se présenter une fois par semaine à un poste de police. A cette époque toutefois, la prévention ne s'étendait pas au meurtre par dol éventuel. Depuis lors, une lourde condamnation avait été prononcée, susceptible d'être aggravée sur appel du Ministère public. Même si la mère et la soeur du condamné habitaient en Suisse, sa compagne et ses trois enfants résidaient en France voisine. Après le prononcé du Tmc, l'intéressé avait circulé à deux reprises sans permis; il avait fait l'objet de cinq avertissements et retraits de permis entre 2002 et 2012; il n'avait pas non plus respecté une mesure de substitution imposée dans le cadre d'une autre procédure (interdiction d'exercer une activité professionnelle dans le domaine de la sécurité et de travailler la nuit). Ce cumul d'éléments faisait ressortir un risque de récidive. Aucune mesure de substitution n'entrait en considération. C. Par acte du 28 juillet 2015, A._ forme un recours en matière pénale par lequel il demande au Tribunal fédéral d'annuler l'arrêt cantonal et d'ordonner sa libération immédiate, selon les modalités à fixer par la direction de la procédure; subsidiairement, il demande le renvoi de la cause à l'instance cantonale pour nouvelle décision au sens des considérants. Il requiert l'assistance judiciaire. La cour cantonale a renoncé à des observations. Le Ministère public conclut au rejet du recours. Le recourant a répliqué, persistant dans ses griefs et ses conclusions.