We prove the Noether-Lefschetz conjecture on the moduli space of quasi-polarized K3 surfaces. This is deduced as a particular case of a general theorem that states that low degree cohomology classes of arithmetic manifolds of orthogonal type are dual to the classes of special cycles, i.e. sub-arithmetic manifolds of the same type. This allows us to apply our results to the moduli spaces of quasi-polarized K3 surfaces.