Faits : A. A.a. A._, ressortissant ivoirien né en 1989 et père d'un enfant, né en 2003, vivant avec sa mère en Côte d'Ivoire, est arrivé en Suisse le 1er octobre 2007 pour y déposer une demande d'asile, que l'Office fédéral des migrations (ci-après: l'Office fédéral), devenu le Secrétariat d'Etat aux migrations le 1er janvier 2015, a rejetée par décision du 6 novembre 2007, assortie du renvoi. A._ n'a pas quitté la Suisse et a fait l'objet de plusieurs condamnations pénales, notamment pour séjour illégal. A.b. Le 8 février 2010, A._ a requis une autorisation de séjour fondée sur la présence en Suisse de son fils B._, né en 2009 d'une relation avec la ressortissante suisse C._. Celle-ci s'est vue retirer l'autorité parentale sur son fils, dorénavant placé sous tutelle, dans la perspective d'une adoption par des tiers. B._ a été subséquemment placé dans une famille d'accueil. Dans le cadre d'une action en constatation de paternité interjetée par la tutrice de B._, A._ a, le 27 septembre 2010, reconnu en être le père et passé une convention d'entretien par laquelle il s'engageait à pourvoir à l'entretien de son fils dès que sa propre situation financière le lui permettrait. Le 17 octobre 2011, l'autorité tutélaire de la Ville de Berne a accordé à A._ un droit de visite hebdomadaire sur son fils B._, les mardis de 14h à 17h; les visites ont été ultérieurement étendues aux jeudis de 11h à 18h; dans une lettre du 11 février 2013, la tutrice de B._ a confirmé que A._ exerçait un droit de visite sur son fils. B. B.a. Le 17 mars 2010, l'Office de la population et des migrations du canton de Berne (ci-après: l'Office cantonal) a rejeté la demande d'autorisation de séjour de A._. Saisie d'un recours contre la décision du 17 mars 2010, la Direction de la police et des affaires militaires du canton de Berne (ci-après: la Direction cantonale) l'a confirmée le 3 mai 2011. Par jugement du 17 novembre 2011, le Tribunal administratif du canton de Berne (ci-après: le Tribunal cantonal) a annulé le recours déposé par A._ contre la décision du 3 mai 2011, estimant que l'intérêt privé de l'enfant B._ à pouvoir bénéficier du soutien de son père en Suisse justifiait l'octroi d'une autorisation de séjour à l'intéressé. B.b. Ensuite du jugement du 17 novembre 2011, les autorités cantonales ont transmis le dossier de A._ pour approbation à l'Office fédéral, conformément à la procédure prévue par la loi fédérale sur l'asile. Dans les observations qu'il a adressées à cette autorité, l'intéressé a notamment relevé qu'il vivait en concubinage avec la ressortissante dominicaine D._, titulaire d'une autorisation de séjour, et avec laquelle il avait une fille, E._ née en 2010, qu'il avait reconnue. Par décision du 12 juillet 2012, l'Office fédéral a refusé son approbation à l'octroi d'une autorisation à A._. B.c. Le 16 mai 2013, le Ministère public du canton de Berne a condamné A._ pour vol et conduite inconvenante à une amende de 300 fr. B.d. A._ a recouru contre la décision de l'Office fédéral du 12 juillet 2012 auprès du Tribunal administratif fédéral, qui a rejeté le recours par arrêt du 21 mars 2014. C. A l'encontre de l'arrêt du 21 mars 2014, A._ 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 cet arrêt et au renvoi de la cause à l'Office fédéral pour qu'il approuve l'octroi d'une autorisation de séjour en sa faveur. L'assistance judiciaire totale est aussi requise. L'Office fédéral propose le rejet du recours. Le Tribunal administratif fédéral renonce à se déterminer. Par lettre du 23 juin 2014, le recourant a remis au Tribunal fédéral un courrier du Service de la population de la Ville de Bienne du 2 juin 2014 acceptant de prolonger l'autorisation de séjour de la compagne du recourant et de ses enfants pour permettre à cette première de rechercher un emploi. Par ordonnance présidentielle du 16 mai 2014, l'effet suspensif a été accordé au recours.