Faits : A. A._ SA est une société inscrite au registre du commerce de la République et canton de Neuchâtel. Son but social est "conception, développement, achat, vente, fabrication, commercialisation, installation et entretien de matériel industriel destiné au traitement des déch (e) ts industriels ou ménagers, ainsi que l'achat, la vente et l'exploitation industrielle et commerciale de brevets industriels". La société B._ SA, inscrite au registre du commerce de la République et canton de Neuchâtel, a le but statutaire suivant: " collecte, traitement, valorisation et élimination des déchets de provenance urbaine et d'autres déchets provenant de tiers; production d'énergies; construire et exploiter les installations nécessaires à son but; participer à toutes autres entreprises poursuivant un but similaire; organiser ou exploiter un service de transport à l'intention de toute ou partie de ses actionnaires ou de tiers, ce service devant contribuer à la poursuite de son but; accorder des prêts ou des garanties à des actionnaires ou à des tiers, si cela favorise ses intérêts ". Par décision d'adjudication du 11 mai 2010, cette société a adjugé un marché relatif à la livraison d'un système pour le traitement des boues de station d'épuration à la société C._ AG, inscrite au registre du commerce du canton de Zoug. Ce marché était soumis aux dispositions sur les marchés publics du canton de Neuchâtel. Un recours contre la décision d'adjudication a été admis par le Tribunal administratif de la République et canton de Neuchâtel (actuellement la Cour de droit public du Tribunal cantonal de la République et canton de Neuchâtel; ci-après: le Tribunal cantonal) le 29 octobre 2010. B._ SA a rendu une nouvelle décision d'adjudication le 20 avril 2011, octroyant à nouveau le marché à C._ AG. Dans cette décision, B._ SA a relevé, " par souci de transparence ", qu'elle avait conclu un contrat avec C._ AG le 20 mai 2010 et que celui-ci était en cours d'exécution. Sur recours de A._ SA, le Tribunal cantonal a constaté le caractère illicite de la décision d'adjudication dans un arrêt du 21 décembre 2011. Cet arrêt est entré en force. Le 26 avril 2012, A._ SA a notamment adressé au Département de la gestion du territoire de la République et canton de Neuchâtel (actuellement le Département du développement territorial et de l'environnement de la République et canton de Neuchâtel; ci-après: le Département) une demande d'indemnisation pour le compte de D._ SA, société inscrite au registre du commerce de la République et canton de Neuchâtel, en raison de l'adjudication illicite d'un marché public par la société B._ SA. Le 21 septembre 2012, le Département a rejeté cette requête d'indemnisation. Le 27 décembre 2012, A._ SA a adressé au Tribunal régional des Montagnes et du Val-de-Ruz une requête de conciliation, par laquelle elle réclamait à B._ SA le paiement des sommes de 279'436.65 fr., 206'191.70 fr. et 100'000 fr. avec intérêts à 5 % l'an dès le 26 avril 2011, en raison de l'adjudication illicite d'un marché public par cette société. La Chambre de conciliation de ce Tribunal a déclaré la requête irrecevable par décision du 6 juin 2013. Constatant son incompétence, elle a en particulier indiqué qu'il ne lui appartenait pas de procéder à la transmission d'office de la requête à une autorité qu'elle aurait considérée comme étant compétente. B. Par acte du 5 juillet 2013, A._ SA a ouvert action devant le Tribunal cantonal, concluant en substance à la condamnation de B._ SA au versement des montants déjà réclamés devant l'autorité civile de conciliation. Par arrêt du 25 juillet 2014, le Tribunal cantonal a déclaré la demande de A._ SA irrecevable. Il a jugé que l'action en responsabilité, fondée sur le droit cantonal sur la responsabilité des collectivités publiques et de leurs agents, n'avait pas été introduite dans le délai de péremption légal. Il a en outre également exclu toute prolongation ou suspension de ce délai, ainsi que l'application des règles de procédure civile relatives à la litispendance en cas d'incompétence du tribunal ou de fausse procédure. C. Agissant par la voie du recours en matière de droit public et celle, subsidiaire, du recours constitutionnel, A._ SA demande au Tribunal fédéral, sous suite de frais et dépens, principalement de déclarer l'action introduite le 5 juillet 2013 recevable et de renvoyer la cause au Tribunal cantonal pour instruction et décision au fond; subsidiairement d'annuler l'arrêt du Tribunal cantonal du 25 juillet 2014 et de renvoyer la cause à celui-ci pour nouvelle décision dans le sens des considérants. Elle se plaint de violation du droit fédéral, d'arbitraire dans l'application du droit cantonal, de formalisme excessif et de violation du principe de l'égalité de traitement. Le Tribunal cantonal et B._ SA concluent au rejet du recours. Durant l'échange d'écritures, A._ SA et B._ SA ont toutes deux confirmé leurs conclusions respectives.