Faits : A. A.a. Le 29 juin 2018, B._, propriétaire d'une épicerie à X._, sise rue W._, a déposé plainte contre les frères A._ et D._, ressortissants du Kosovo nés respectivement en 1994 et en 2000. Il leur reprochait de l'avoir menacé de mort devant son épicerie le 28 juin 2018, ainsi que son ami E._, en lui disant qu'ils allaient les "planter", alors que D._ avait soulevé son t-shirt et dévoilé un couteau qu'il portait sous sa ceinture. Ces menaces seraient survenues dans un contexte d'animosité entre E._, et les frères A._ et D._, voisins de l'épicerie, qui trouverait son origine dans des remontrances qui auraient été faites à la mi-février 2018 à D._ par E._ après que le second cité avait invité le premier, alors éméché, à ramasser le vélo qu'il venait de jeter au sol à proximité de l'épicerie. A.b. Le 2 juillet 2018, peu après minuit, soit quelques jours après le dépôt de la plainte, alors que B._ venait de fermer son commerce, il se serait dirigé à pied, en compagnie de F._, en direction du parking de la rue Y._, où il avait garé sa voiture. Arrivé à l'angle des rues Z._ et Y._, après qu'il aurait croisé A._ et D._, B._ aurait reçu plusieurs coups de couteau, notamment au thorax et à la jambe gauche, ainsi que des coups de pied, le blessant grièvement. A.c. Une instruction pénale a été ouverte par le Ministère public de la République et canton de Genève contre A._ pour tentative d'assassinat (art. 22 CP cum art. 112 CP) et menaces (art. 180 CP), alors que D._ a été déféré devant le Juge des mineurs. En cours d'enquête, D._ a reconnu avoir asséné des coups de couteau à B._ dans la nuit du 2 juillet 2018. Pour sa part, si A._ avait reconnu avoir été présent avec son frère au moment de l'agression, il a en revanche contesté toute implication dans les coups portés au plaignant. A.d. A._ a été arrêté le 2 juillet 2018. Par ordonnance du Tribunal des mesures de contrainte (Tmc) du 3 juillet 2018, il a été placé en détention provisoire. Cette mesure a été régulièrement prolongée par ordonnances successives du Tmc. B. Par acte du 29 avril 2019, le Ministère public a engagé l'accusation devant le Tribunal criminel contre A._ pour tentative d'assassinat et menaces. Parallèlement, le Procureur a requis le placement en détention pour des motifs de sûreté de A._. Le Tmc a fait droit à cette requête par ordonnance du 2 mai 2019, le prévenu étant placé en détention jusqu'au 2 août 2019. Statuant le 22 mai 2019, la Chambre pénale de recours de la Cour de justice genevoise a rejeté le recours formé par A._ contre l'ordonnance du 2 mai 2019, retenant tant l'existence de graves soupçons de culpabilité qu'un risque de collusion que des mesures de substitution ne permettaient pas de pallier. C. A._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt du 22 mai 2019. Il conclut, avec suite de frais et dépens, à sa libération immédiate, assortie le cas échéant de mesures de substitution. Il sollicite en outre le bénéfice de l'assistance judiciaire. Invité à se déterminer sur le recours, le Ministère public a conclu à son rejet. L'autorité précédente a pour sa part renoncé à présenter des observations et s'est référée aux considérants de sa décision.