L'existence de PGCD dans Z[X] vient du fait que Z[X] est factoriel (ce qui signifie que tout élément P peut s'écrire de façon unique (à l'orde et à multiplication des facteurs par un inversible près) sous la forme

avec u inversible et les

irréductibles). Si tu veux démontrer l'existence du PGCD dans Z[X] et comment le calculer il faudra passer par là, ce genre de choses est étudié en L3 ou M1, apparemment tu es en MPSI donc je ne sais pas si ça t'est accessible.
Comme références, là j'ai _Modern Computer Algebra_ de Joachim von zur Gathen et Jürgen Gerhard qui donne plusieurs algorithmes de calcul de PGCD dans Z[X] et démontre tous les résultats mathématiques nécessaires (chapitre 6, en particulier section 6.2 pour les démonstrations sur les anneaux factoriels (unique factorization domains en anglais), et 6.4 à 6.7 pour des méthodes plus efficaces que l'algorithme d'Euclide pour le calcul du PGCD dans Q[X] (ça sert pour le PGCD dans Z[X])), et aussi _The Art of Computer Programming_ Tome 2 (Seminumerical Algorithms) de Knuth qui en parle dans la section 4.6.1 (mais la démonstration de « A factoriel implique A[X] factoriel » est à faire dans les exercices).
Si tu veux des choses en français, on trouve plusieurs cours de L3/M1 sur le sujet, par exemple
ici (chapitre 5), il donne les résultats sur les anneaux factoriels mais il ne me semble pas qu'il s'attarde sur le calcul du PGCD ensuite comme c'est fait dans les deux livres précédents.