The problem stated more precisely is this:
Let $P$ be a prime ideal of $\mathbb{Z}[x]$ such that $P \cap \mathbb{Z} =\{0\}$. Show that $P$ is a principal ideal.
I think there is a problem with my proof.
So I said that if $m(x)$ is a nonzero polynomial in $P$ of minimum degree then $P=(m(x))$. If $f(x) \in P$ is any polynomial then in $\mathbb{Q}[x]$ there is $q(x),r(x) \in \mathbb{Q}[x]$ such that $f(x)=q(x)m(x)+r(x) \implies r(x)=f(x)-q(x)m(x)$ with $r=0$ or the degree of r less than the degree of $m$. Letting $L$ be the LCM of the denominators of the coefficients we have $Lr(x)=Lf(x)-Lq(x)m(x) \implies Lr(x) \in P$.
This is where the problem is. I want to claim that $Lr(x) \in P \implies L\in P$ or $r(x) \in P$. Obviously this then forces $r(x) \in P$ by the intersection assumption which then forces $r=0$. The problem is that $r(x)$ is not necessarily in $\mathbb{Z}[x]$ so the prime condition on $P$ does not necessarily apply here. Is there a way to strengthen the condition on $m(x)$ to ensure that $r(x) \in \mathbb{Z}[x]$?
You know that $r(x)\in\mathbb Q[x]$ and $Lr(x)\in P$ for some $L\in\mathbb Z$, $L\ne0$. Now multiply $Lr(x)$ by a non-zero integer $a$ such that $ar(x)\in\mathbb Z[x]$, and find $Lar(X)\in P$. Then $ar(x)\in P$ and $\deg ar(x)=\deg r(x)<\deg m(x)$.
You have to be careful when start with $m\in P$, $\deg m\ge1$ of minimal degree to suppose that $m$ is primitive if want $P=(m(x))$, that is, the $\gcd$ of coefficients of $m$ is $1$. (You also need this assumption when $r=0$.) If this is not the case, then $m(x)=kn(x)\in P$ with $k\ge 2$ and $n(x)$ primitive, and then $n(x)\in P$ is a generator.