Faits : A. Par ordonnance du 15 novembre 2017, le Ministère public de la République et canton de Genève a décidé de ne pas entrer en matière sur la plainte pénale déposée par A._ le 21 novembre 2017 contre X._. B. Statuant sur recours d'A._ à l'encontre de l'ordonnance précitée, la Chambre pénale de recours de la Cour de justice de la République et canton de Genève l'a rejeté par arrêt du 16 janvier 2018. Les faits exposés par A._, ressortissante tunisienne née en 1983, sont en substance les suivants. La prénommée a déposé plainte pénale contre X._ pour viol et contrainte sexuelle. Elle travaillait comme femme de ménage au sein de la B._ et résidait dans une chambre au 6 ème étage d'un immeuble dont la conciergerie était assurée par X._. Ce dernier disposait, en cette qualité, des clés de sa chambre. Selon les déclarations d'A._, X._ a, au mois de mars 2016, ouvert la porte de la chambre d'A._ alors qu'elle regardait la télévision. Elle avait eu très peur. Il sentait fort l'alcool et lui a demandé de ne pas parler. Toujours selon A._, il l'a déshabillée avant de se déshabiller à son tour et l'a poussée sur le canapé. Il a touché ses parties génitales avec ses mains. Elle lui a demandé de cesser mais il l'a pénétrée vaginalement avec son pénis. Elle ne se souvient plus s'il a éjaculé. Il s'est rhabillé et lui a demandé de garder le silence. Elle a déclaré avoir parlé de cet épisode " au bureau " et " Madame " avait été très fâchée. Durant le même mois, X._ est revenu à trois reprises dans sa chambre en adoptant le même comportement. A._ est tombée enceinte à la suite de ces viols. Au quatrième mois de grossesse, elle est allé voir X._ afin de le lui annoncer et lui demander de l'argent pour nourrir et habiller leur futur enfant. X._ n'a rien voulu savoir et a refusé de l'aider. Elle a accouché d'un garçon en janvier 2017. Selon ses dires, elle n'a pas déposé plainte plus tôt car elle avait peur et ne connaissait pas le système judiciaire suisse. Entendu le 14 mars 2017 par la police en qualité de prévenu, X._ a contesté les faits qui lui sont reprochés. Il a reconnu avoir eu une relation intime avec A._ pendant quelque temps. Ils se voyaient quand ils pouvaient, soit trois à quatre fois dans le mois, car ils avaient tous les deux des horaires contraignants. Il l'avait connue à travers sa tante " C._ ", qui travaillait avec lui à l'ambassade. Leurs rapports se limitaient à des " frottis " jusqu'à l'éjaculation avec un préservatif entre les cuisses d'A._. Il n'y avait jamais eu de pénétration, sauf un seul épisode, le 15 juillet 2016, où il n'avait pas mis de préservatif et avait éjaculé entre ses cuisses. Lorsqu'il avait appris qu'elle était enceinte, il avait proposé, par l'intermédiaire d'" C._ ", de faire un test ADN, mais, selon ses dires, celui-ci avait été refusé par A._ et sa famille. C. A._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt de la Chambre pénale de recours du 21 novembre 2017. Elle conclut, principalement, au constat d'une violation de l'obligation de procéder à une enquête effective découlant des art. 3 et 8 CEDH, à l'annulation de l'arrêt entrepris et de l'ordonnance de non entrée en matière et au renvoi de la cause au Ministère public afin qu'il instruise les faits objets de la procédure. Subsidiairement, elle conclut à l'annulation de l'arrêt querellé et au renvoi de la cause à l'autorité précédente pour nouvelle décision dans le sens des considérants. Elle sollicite également l'octroi de l'assistance judiciaire. D. Invités à se déterminer, la cour cantonale s'est référée aux considérants de son arrêt, tandis que le ministère public a conclu au rejet du recours. A._ a renoncé à répliquer.