Faits : A. Ressortissant de la Côte d'Ivoire né en 1976, X._ est entré illégalement en Suisse le 8 avril 2006 et y a déposé une demande d'asile sous une fausse identité. Par décision du 4 septembre 2007, l'Office fédéral des migrations, devenu le Secrétariat d'Etat aux migrations depuis le 1er janvier 2015 (ci-après: le Secrétariat d'Etat), n'est pas entré en matière et a prononcé son renvoi de Suisse. Cette décision est entrée en force le 13 septembre 2007. Selon un rapport du 16 octobre 2007, le Service des migrations du canton de Berne a constaté la disparition de l'intéressé du centre d'hébergement pour requérants d'asile depuis le 4 octobre 2007. B. B.a. Par décision du 31 mai 2006, X._ s'est vu notifier une interdiction de pénétrer sur le territoire de Soleure, l'intéressé ayant été interpellé par la police lors d'un contrôle sur la scène de la drogue dans le canton. Le 22 mai 2007, le Service des migrations du canton de Berne a prononcé à son endroit une interdiction de périmètre sur le centre-ville de Berne. B.b. Sur le plan pénal, X._ a fait l'objet des condamnations suivantes: - le 27 mars 2008, par jugement du "Untersuchungsrichteramt III Bern-Mittelland", à une peine pécuniaire de 30 jours avec délai d'épreuve de deux ans et à une amende de 400 fr. pour contravention et délit à la loi sur les stupéfiants (LStup) et séjour illégal; - le 4 juin 2008, par jugement du "Untersuchungsrichteramt III Bern-Mittelland", à une peine pécuniaire de 20 jours-amende avec délai d'épreuve de deux ans et à une amende de 200 fr. pour infractions d'importance mineure (vol) et inobservation d'une assignation à un lieu de résidence ou interdiction de pénétrer dans une région déterminée; - le 16 juin 2011, par ordonnance pénale du Ministère public du canton de Berne, à une amende de 150 fr. pour vol portant sur une faible valeur; - le 13 février 2012, par jugement du Tribunal régional Jura bernois-Seeland, à une peine pécuniaire de 90 jours-amende avec délai d'épreuve de deux ans et à une amende de 500 fr. pour séjour illégal, infraction d'importance mineure (vol) et contravention à la LStup; - le 7 janvier 2013, par ordonnance pénale du Ministère public du canton de Berne, à une peine pécuniaire de 20 jours-amende et à une amende de 150 fr. pour des faits remontant au mois d'octobre 2011, soit séjour illégal, inobservation d'une interdiction de périmètre et possession de matériel servant à la commission d'actes punissables; - le 14 mars 2013, par ordonnance du Ministère public du canton de Berne, à une peine privative de liberté de 30 jours pour vol et infractions d'importance mineure (vol). B.c. Le 4 décembre 2009, X._, sous sa véritable identité, a contracté mariage avec A.Z._, une compatriote titulaire d'une autorisation d'établissement et mère d'un enfant, B.Z._, né en 2007 d'une précédente union. Le 8 décembre 2009, X._ a présenté une demande d'autorisation de séjour en vue de vivre auprès de son épouse. Sur le formulaire, il a indiqué sa véritable identité et a répondu par la négative à la question de savoir s'il avait fait l'objet d'une condamnation en Suisse ou à l'étranger. Par ordonnance du Tribunal tutélaire du canton de Genève du 22 mars 2010 (ci-après: le Tribunal tutélaire), A.Z._ s'est vu retirer la garde de son fils B.Z._. Ce dernier a été placé dans un foyer et un droit de visite a été instauré en faveur de sa mère. Le 12 janvier 2012, le Tribunal tutélaire a suspendu le droit de visite de A.Z._ sur son fils. Les relations entre l'intéressée et son enfant ont repris au cours du mois de mars 2012. Depuis le mois de décembre 2009, X._ émarge à l'aide sociale. Selon une attestation de l'Office des poursuites du 17 février 2014, l'intéressé faisait l'objet de poursuites à hauteur de 9'541.80 fr. B.d. Le 29 juin 2011, l'Office cantonal de la population de Genève (ci-après: l'Office cantonal) a informé X._ qu'il était disposé à lui délivrer une autorisation de séjour pour regroupement familial et a transmis le dossier au Secrétariat d'Etat pour approbation. Par courrier du 8 décembre 2011, le Secrétariat d'Etat a avisé l'intéressé qu'il envisageait de refuser son approbation à la délivrance d'une autorisation de séjour et lui a donné l'occasion de se déterminer. Le 3 février 2012, A.Z._ a donné naissance à Genève à des jumeaux, C._ et D._. C. Par décision du 6 juillet 2012, rendue après avoir entendu l'intéressé, le Secrétariat d'Etat a refusé d'approuver l'octroi d'une autorisation de séjour en faveur de X._ et a prononcé son renvoi de Suisse. L'intéressé a recouru contre cette décision au Tribunal administratif fédéral, qui a rejeté le recours par arrêt du 7 août 2014. D. A l'encontre de cet arrêt, X._ dépose un recours en matière de droit public au Tribunal fédéral. Il conclut, sous suite de frais et dépens, à l'annulation de l'arrêt attaqué et au renvoi de la cause au Secrétariat d'Etat pour qu'il approuve l'octroi d'une autorisation de séjour en sa faveur. Il requiert en outre le bénéfice de l'assistance judiciaire totale. Le Tribunal administratif fédéral renonce à se déterminer. Le Secrétariat d'Etat propose le rejet du recours. Par ordonnance présidentielle du 24 septembre 2014, l'effet suspensif a été accordé au recours.