Faits : A. A._, ressortissant portugais né en 1965, est entré en Suisse en 1983. Il y a obtenu successivement un statut d'étudiant et de saisonnier. Il s'est établi dans le canton de Neuchâtel en 1985. Suite à son premier mariage, en 1988, avec une ressortissante italienne titulaire d'une autorisation d'établissement, il a d'abord été mis au bénéfice d'une autorisation de séjour puis, le 27 juillet 1995, d'une autorisation d'établissement. De cette union sont nés, en 1989 et 1991, deux fils. Le divorce du couple a été prononcé le 6 octobre 1993. En 1994, l'intéressé s'est remarié. Il a divorcé en 2001. Le 9 décembre 2002, il a épousé une ressortissante de la République dominicaine titulaire d'une autorisation d'établissement, avec laquelle il avait précédemment eu un fils, né le *** 2001. A._ a fait l'objet de plusieurs condamnations pénales: - le 26 août 1987 à deux ans d'emprisonnement ainsi qu'à une expulsion du territoire suisse pour une durée de huit ans pour infraction grave à la loi fédérale du 3 octobre 1951 sur les stupéfiants et les substances psychotropes (LStup; RS 812.121); - le 11 décembre 1992 à cinq jours d'emprisonnement pour contravention et infraction à la LStup; - le 8 décembre 1993 à trois ans d'emprisonnement pour infraction grave à la LStup, la peine ayant été suspendue au profit d'un traitement dans un établissement pour toxicomanes; - le 14 avril 1998 à deux mois d'emprisonnement avec sursis pendant trois ans pour violation d'une obligation d'entretien; - le 23 janvier 2003 à deux mois d'emprisonnement pour violation d'une obligation d'entretien; - le 24 mai 2004 à une amende de 1'000 fr. avec sursis pendant un an pour violation grave à la loi fédérale du 19 décembre 1958 sur la circulation routière (LCR; RS 741.01); - le 4 juillet 2007 à une peine privative de liberté de douze mois avec sursis pendant quatre ans pour contravention et crime contre la LStup; - le 18 janvier 2008 à 25 jours-amende à 20 fr. et à une amende de 600 fr. pour infractions à la LCR et contravention à la LStup; - le 6 mai 2009 à 65 jours-amende à 30 fr. et à une amende de 500 fr. pour infractions à la LCR et délit et contravention à la LStup; - le 16 novembre 2012 à une peine privative de liberté de quatre ans (avec révocation du sursis octroyé le 4 juillet 2007) pour infractions graves et contravention à la LStup. B. Par décision du 13 août 2013, le Service des migrations de la République et canton de Neuchâtel (ci-après: le Service des migrations) a révoqué l'autorisation d'établissement de l'intéressé. Sur recours, le Département de l'économie et de l'action sociale de la République et canton de Neuchâtel (ci-après: le Département) a confirmé cette décision le 28 janvier 2014. A._ a contesté ce prononcé devant la Cour de droit public du Tribunal cantonal de la République et canton de Neuchâtel (ci-après: le Tribunal cantonal). Par arrêt du 12 juin 2014, le Tribunal cantonal a rejeté le recours de l'intéressé. Après avoir notamment écarté, par appréciation anticipée, des requêtes de preuves testimoniales, il a en substance jugé que les actes de A._ représentaient une atteinte très grave à la sécurité et à l'ordre publics et que les liens avec son fils et son épouse, la longue durée de son séjour en Suisse, son comportement correct depuis la commission des dernières infractions, et son début d'intégration sociale ne permettaient pas de contrebalancer les actes commis, l'important risque de récidive et la persistance dans les agissements délictueux. Il a en particulier relevé l'importante quantité de cocaïne pure mise sur le marché par l'intéressé, soit une fois 37,7 grammes (condamnation en 2007) et une fois 397 grammes (condamnation en 2012), le fait que celui-ci avait agi dans un unique but financier et qu'il n'avait pas collaboré, ainsi que sa situation financière obérée (551'905 fr. de dettes accumulées en date du 11 avril 2013, dont 439'480 fr. ont donné lieu à des actes de défaut de biens). C. Agissant par la voie du recours en matière de droit public, A._ demande au Tribunal fédéral, sous suite de frais et dépens, outre l'effet suspensif, principalement d'annuler l'arrêt du 12 juin 2014 du Tribunal cantonal, d'annuler la décision du 28 janvier 2014 du Département et de lui permettre de conserver son autorisation d'établissement, subsidiairement de renvoyer la cause aux autorités neuchâteloises pour instruction complémentaire et nouvelle décision. Il se plaint de violations du droit fédéral et international, de violations du principe de la proportionnalité et de son droit d'être entendu, ainsi que d'établissement inexact des faits. Par ordonnance du 15 juillet 2014, le Président de la IIe Cour de droit public du Tribunal fédéral a admis la demande d'effet suspensif. Le Tribunal cantonal, le Département, le Service des migrations ainsi que l'Office fédéral des migrations concluent tous au rejet du recours.