Faits : A. A._ se trouve en détention provisoire depuis le 16 novembre 2014, sous la prévention de menace, de mise en danger de la vie d'autrui et d'infraction à la loi fédérale sur les armes, les accessoires d'armes et les munitions (LArm; RS 514.54). Il lui est notamment reproché d'avoir, sous influence de l'alcool, pointé une arme à feu chargée en direction de la poitrine de B._, qui lui aurait demandé du feu pour sa cigarette. Par ordonnance du 18 novembre 2014, le Tribunal des mesures de contrainte du canton de Vaud (Tmc) a ordonné la détention de A._ pour une durée de trois mois, en raison d'un risque de récidive. Le 28 novembre 2014, A._ a interjeté un recours contre cette ordonnance auprès de la Chambre des recours pénale du Tribunal cantonal du canton de Vaud (ci-après: le Tribunal cantonal). Après le dépôt du recours, le Ministère public a fait verser au dossier quatre pièces (jugement concernant A._ de 2004, rapport de l'état de santé de celui-ci daté du 2 décembre 2014 et établi par l'Unité de Psychiatrie Ambulatoire du Centre hospitalier universitaire vaudois (CHUV), résultats des analyses toxicologiques effectuées le 24 novembre 2014, demande de désignation d'un expert au Centre d'expertises psychiatriques de Cery). Le 5 décembre 2014, le Tribunal cantonal a communiqué à l'avocat du prénommé deux des quatre pièces transmises par le Ministère public (état de fait complété d'office sur la base du dossier: art. 105 al. 2 LTF). Par arrêt du 10 décembre 2014, le Tribunal cantonal a rejeté le recours déposé par le prénommé contre l'ordonnance du 18 novembre 2014. Il a considéré en substance qu'il existait un risque de réitération, qu'aucune mesure de substitution n'était susceptible de pallier. Par lettre du 16 décembre 2014 adressée à l'avocat du prévenu, le Président de la Chambre des recours pénale a relevé que "il semble que le greffe de la Chambre des recours pénale ait effectivement omis par erreur de transmettre copie des pièces 14 et 15, qui avaient fait l'objet d'un avis de transmission séparé et postérieur de la part du Ministère public"; il a précisé le regretter et a présenté ses excuses, "tout en observant que ces pièces n'ont joué qu'un rôle très marginal dans l'arrêt du 10 décembre 2014". B. Agissant par la voie du recours en matière pénale, A._ demande principalement au Tribunal fédéral de réformer l'arrêt du 10 décembre 2014 en ce sens qu'il est immédiatement relaxé. Il conclut à titre subsidiaire à l'annulation de l'arrêt attaqué. Il requiert en outre l'assistance judiciaire. Invités à se déterminer, la cour cantonale et le Ministère public du canton de Vaud concluent au rejet du recours. Le recourant a répliqué par courrier du 13 janvier 2015.