Está correcto o primeiro excerto que a consulente propõe, «Não é por as gerações...», visto que por é, no contexto em análise, um subordinador utilizado para introduzir uma frase causal (Mateus e outros, Gramática da Língua Portuguesa, 2003, p. 108). Poderíamos, portanto, facilmente substituí-lo, por exemplo, por porque: «Não é porque as gerações...»
Por outro lado, valerá a pena dizer o seguinte: qualquer um dos excertos propostos introduziria, com alto grau de probabilidade, se tivesse continuação, uma oração infinitiva [ou não finita, de acordo como o Dicionário Terminológico: orações que têm como epicentro uma forma verbal no infinitivo (flexionado ou não), no gerúndio, ou no particípio]. Sendo assim, poderíamos imaginar a seguinte frase: «não é pelo facto de as gerações mais novas defenderem os valores da liberdade (...)», ou «não é por as gerações mais novas defenderem os valores da liberdade (...)». Quando assim é (isto é, quando se introduz uma oração não finita), a não contracção das preposições, se as houver, é obrigatória (leia-se, a este propósito, o seguinte artigo de Ana Martins; Mateus e outros, op. cit., p. 725). Ora, no segundo excerto proposto pela consulente, verificamos justamente que existe uma preposição — neste caso, a preposição de — que introduz uma oração infinitiva. Sendo assim, a forma correcta de construir o segundo excerto será «Não é pelo facto de as gerações (...)», e não «Não é pelo facto das gerações (...)», pois não pode, neste caso, pelas razões apontadas, haver contracção preposicional.