Bonjour,
Ce n'est pas une caution, c'est un dépôt de garantie.
L'article 22 de la loi de 89 définit ce terme et la manière de le récupérer :
https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000028806696
ou encore cette page d'infos :
https://www.service-public.fr/particuliers/vosdroits/F31269
Vous êtes responsable en tant que locataire selon l'article 7 de la même loi :
"c) De répondre des dégradations et pertes qui surviennent pendant la durée du contrat dans les locaux dont il a la jouissance exclusive, à moins qu'il ne prouve qu'elles ont eu lieu par cas de force majeure, par la faute du bailleur ou par le fait d'un tiers qu'il n'a pas introduit dans le logement ;
d) De prendre à sa charge l'entretien courant du logement, des équipements mentionnés au contrat et les menues réparations ainsi que l'ensemble des réparations locatives définies par décret en Conseil d'Etat, sauf si elles sont occasionnées par vétusté, malfaçon, vice de construction, cas fortuit ou force majeure.
Donc l'agence a raison et peut légalement vous retenir le nettoyage et remise en état suite aux moisissures.
Sinon c'est à vous de prouver ... que vous aérez suffisamment, que la VMC ne fonctionne pas, que la peinture n'est pas adaptée, qu'il y a des infiltrations, etc...
Je vous recommande de faire une déclaration de sinistre à votre assureur, qui procèdera à une recherche de fuite éventuelle.