Faits : A. A._ a été arrêté le 8 septembre 2013 et placé en détention provisoire le 11 septembre 2013, sous les préventions d'assassinat, subsidiairement meurtre, et de contravention à la loi fédérale sur les stupéfiants. Il lui est reproché d'avoir tué son épouse B._ le 8 septembre 2013 dans l'appartement qu'ils occupaient à Gland. Il aurait frappé sa femme à plusieurs reprises dans le dos à l'aide d'un couteau, aurait tenté de l'étrangler, puis, alors qu'elle tentait de s'enfuir, l'aurait poursuivie et saisie par les cheveux, la faisant tomber au sol; avec un second couteau, il aurait asséné plusieurs coups de couteau à la gorge de la victime, continuant de frapper alors même qu'elle était tombée face contre terre. Il est en outre reproché au prévenu d'avoir consommé des produits stupéfiants, notamment de la cocaïne. La détention du prévenu a régulièrement été prolongée à plusieurs reprises, en raison du risque de réitération. B. Dans le cadre de l'instruction, la mise en oeuvre d'une expertise psychiatrique a été ordonnée. Les experts psychiatres ont rendu leur rapport le 10 septembre 2014. Ils ont retenu que le prévenu présentait, au moment des faits, un trouble psychotique mixte induit par des substances psycho-actives (cocaïne) dans le cadre d'une dépendance à des substances psycho-actives multiples, chez une personnalité à traits narcissiques et dépendants. C. Par ordonnance du 7 novembre 2014, le Tribunal des mesures de contrainte du canton du Vaud a refusé la demande de libération présentée par l'intéressé en raison du risque de réitération, la question du danger de fuite également retenu par le Ministère public étant laissée indécise. L'intéressé a recouru contre cette décision auprès de la Chambre des recours pénale du Tribunal cantonal (ci-après: le Tribunal cantonal), qui a rejeté ce recours par arrêt du 21 novembre 2014. En substance, le Tribunal cantonal a retenu un risque de réitération que les mesures de substitution proposées par le recourant (mise en oeuvre d'un traitement ambulatoire, sur les plans addictologique et psychiatrique) ne permettaient pas d'exclure. Quant à la durée de la détention, elle respectait le principe de proportionnalité. D. Agissant par la voie du recours en matière pénale, A._ demande au Tribunal fédéral de réformer l'arrêt entrepris en ce sens que sa mise en liberté est immédiatement ordonnée. A titre subsidiaire, il conclut au renvoi de la cause à l'instance précédente pour nouvelle décision dans le sens des considérants. Le prévenu sollicite également l'octroi de l'assistance judiciaire. Le Tribunal cantonal et le Ministère public se réfèrent aux considérants de l'arrêt entrepris.