Can composition of integer polynomial and rational polynomial with a non-integer coefficient result in integer polynomial?

In fact, we may ignore the assumption that $q$ is monic. The composition $p \circ q$ cannot have all integer coefficients.

For let $p$ be a prime factor of some fully simplified denominator of a coefficient of $q$. Consider the largest $k$ s.t. $p^k$ is a factor of some denominator of a $q$ coefficient. Then write the polynomial $q$ as $x^j w(x) / p^k + s(x)$, where every fully simplified numerator of $w(x)$ is not divisible by $p$ and no fully simplified denominator of $s(x)$ is divisible by $p^k$, and where $w$ has a non-zero constant term. Do this by grouping all terms with denominators divisible by $p^k$, obtaining $x^j w(x) / p^k$, and all terms with denominators not divisible by $p^k$, obtaining $x(x)$.

Let $n$ be the degree of $p$, and consider the coefficient of $x^{jn}$ in $p \circ q$. One of the contributing summands will be $w(0)^n / p^{kn}$, which is fully simplified. And none of the other summands can have a denominator divisible by $p^{kn}$. So this coefficient is not an integer.


One can show this with some elementary properties of algebraic integers:

Fact. If $p \in \mathbb C[x]$ and $q \in \mathbb Q[x]$ are monic, $p(0) \in \mathbb Z$, $\deg p, \deg q > 0$ and $p \circ q \in \mathbb Z[x]$, then $q \in \mathbb Z[x]$.

Proof: We must show that all roots of $q$ are algebraic integers. Let $\alpha$ be a root of $q$. Then $p(q(\alpha)) - p(0) = 0$. The assumptions imply that $r(x) = p(q(x)) - p(0)$ is a monic integer polynomial. Because $\alpha$ is a root of $r$, it is an algebraic integer.


For the non-monic case:

Consider the monic polynomial $p(y) - p(q(x)) \in \mathbb Z[x][y]$. It has a root $q(x) \in \operatorname{Frac}(\mathbb Z[x])$. By the rational root theorem applied to the UFD $\mathbb Z[x]$, it follows that $q(x) \in \mathbb Z[x]$.