Faits : A. A.a. A._, né en 1996, fait l'objet d'une instruction pénale menée par le Ministère public de la République et canton de Genève pour assassinat (art. 112 CP), subsidiairement pour meurtre (art. 111 CP). Il lui est reproché d'avoir causé la mort de B._, dans la nuit du 8 au 9 juin 2017, sur un parking, à Meyrin (GE), en dirigeant volontairement son véhicule en direction de la victime, la projetant sur le pare-brise, puis par-dessus le véhicule, et lui roulant ensuite délibérément sur le corps, avant de prendre la fuite. Les faits trouveraient leur origine dans une rivalité amoureuse, B._ ayant fréquenté C._, l'ex-amie intime de A._. En cours d'instruction, le prévenu a reconnu les faits, mais a nié avoir voulu tuer la victime. A.b. A._ a été arrêté le 9 juin 2017. Par ordonnance du 11 juin 2017 du Tribunal des mesures de contrainte (Tmc), il a été placé en détention provisoire. Cette mesure a été régulièrement prolongée par ordonnances successives du Tmc. A.c. A teneur de leur rapport d'expertise psychiatrique du 3 janvier 2018, les Drs E._ et F._ ont relevé que A._ présentait un trouble mixte de la personnalité avec composante borderline, narcissique et immature, assimilable à un grave trouble mental, de sévérité légère. A.d. Le 25 janvier 2019, le Ministère public a adressé aux parties un avis de prochaine clôture (art. 318 al. 1 CPP). B. Après qu'une première requête de A._ tendant à l'exécution anticipée de la peine a été rejetée le 22 novembre 2018 par le Ministère public, le prévenu a réitéré sa requête le 29 mai 2019. Par ordonnance du 3 juin 2019, le Ministère public a refusé de mettre A._ au bénéfice de l'exécution anticipée de la peine en raison du danger de collusion. Le recours dirigé par l'intéressé contre cette décision a été rejeté par arrêt du 27 juin 2019 de la Chambre pénale de recours de la Cour de justice genevoise. C. A._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt du 27 juin 2019. Il conclut, avec suite de frais et dépens, principalement à sa réforme en ce sens que l'exécution anticipée de la peine est immédiatement ordonnée. Subsidiairement, il conclut à l'annulation de l'arrêt et au renvoi de la cause à l'autorité précédente pour qu'elle ordonne l'exécution anticipée de la peine, moyennant la mise en place d'un contrôle de ses contacts avec l'extérieur. Plus subsidiairement, il conclut à l'annulation de l'arrêt et au renvoi de la cause à l'autorité précédente pour qu'elle statue dans le sens des considérants. Il sollicite en outre le bénéfice de l'assistance judiciaire. Invitée à se déterminer sur le recours, la cour cantonale a renoncé à présenter des observations, se référant aux considérants de son arrêt. Le Ministère public a conclu au rejet du recours.