Faits : A. X._, ressortissant kosovar né en 1980, est arrivé en Suisse en janvier 1999. La demande d'asile qu'il y a déposée a été rejetée en juillet 1999; il a toutefois été autorisé à rester en Suisse jusqu'au 31 mai 2000 au bénéfice d'une admission à titre collectif. Après avoir quitté notre pays le 26 mai 2000 grâce à une aide au retour, il y est revenu illégalement en juin 2001. Le 26 juillet 2002, il a été condamné à deux mois d'emprisonnement avec sursis pendant deux ans et à une amende de 300 fr. pour violation grave d'une règle de la circulation routière pour ne pas avoir observé les signaux, vol d'usage d'un véhicule, délit et contravention à la loi fédérale sur le séjour et l'établissement des étrangers et à la loi cantonale sur le contrôle des habitants. X._ s'est marié le 10 décembre 2004 avec une ressortissante suisse et a dès lors obtenu une autorisation de séjour annuelle, qui a été régulièrement prolongée jusqu'au 10 décembre 2009. Les conjoints se sont séparés en mars 2009. L'épouse a accouché d'un enfant le 2 avril 2009, dont il a été établi par jugement du 12 décembre 2011 qu'il n'était pas le fils de X._. Le divorce des époux a été prononcé le 22 mars 2012. B. B.a. Par décision du 24 janvier 2012, le Service des migrations du canton de Neuchâtel (ci-après: le Service des migrations) a refusé à X._ la prolongation de son autorisation de séjour. Le 29 mai 2012, le Département de l'économie du canton de Neuchâtel (actuellement: Département de l'économie et de l'action social; ci-après: le Département) a rejeté le recours déposé par X._ contre la décision du Service des migrations. Le 2 juillet 2012, X._ a recouru devant la Cour de droit public du Tribunal cantonal de la République et canton de Neuchâtel (ci-après: le Tribunal cantonal) contre la décision du Département du 29 mai 2012. Par arrêt du 17 avril 2013, le Tribunal cantonal a rejeté le recours et transmis le dossier de la cause au Service des migrations pour fixation d'un nouveau délai de départ. X._ a interjeté recours contre cet arrêt auprès du Tribunal fédéral. Par arrêt du 4 octobre 2013 (cause 2C_472/2013), la Cour de céans a constaté que le Tribunal cantonal avait violé le droit d'être entendu de X._ en omettant de lui transmettre la pièce intitulée "Informations débiteur" établie le 13 août 2012 par l'Office des poursuites, que le Département avait produite en cours de procédure. En conséquence, il a admis le recours, annulé l'arrêt du 17 avril 2013 et renvoyé la cause aux juges cantonaux pour nouvelle décision dans le sens des considérants. A la suite de cet arrêt, le Tribunal cantonal a transmis une copie du document en question à X._. Celui-ci a pris position sur cette pièce, fournissant des explications sur l'état de ses dettes et sur les remboursements effectués; il a par ailleurs transmis au Tribunal cantonal d'autres pièces, dont les documents "Informations débiteur" et "relevé de compte", établis le 16 janvier 2014 par l'Office des poursuites. B.b. Le 10 mars 2014, le Tribunal cantonal a une nouvelle fois rejeté le recours et transmis le dossier de la cause au Service des migrations pour fixation d'un nouveau délai de départ. C. Agissant par la voie du recours en matière de droit public, X._ demande au Tribunal fédéral, sous suite de frais et dépens, d'annuler la décision du Tribunal cantonal et de lui octroyer une prolongation de son autorisation de séjour, voire une autorisation de séjour conditionnelle; subsidiairement, de renvoyer la cause au Tribunal cantonal ou au Service des migrations pour nouvelle décision dans le sens des considérants. Le Tribunal cantonal s'est référé aux motifs de son arrêt et a conclu au rejet du recours. Le Service des migrations a conclu au rejet du recours. Le Service juridique du Département de la justice, de la sécurité et de la culture du canton de Neuchâtel s'en est remis à l'appréciation du Tribunal fédéral. L'Office fédéral des migrations (à partir du 1 er janvier 2015 : Secrétariat d'Etat aux migrations) a proposé le rejet du recours. Par ordonnance du 15 avril 2014, le Juge présidant la IIe Cour de droit public du Tribunal fédéral a admis la requête d'effet suspensif contenue dans le recours.