OK. I've finally got the time to correct my deleted answer. If anyone doesn't like complex analysis, this answer only uses real analysis.
Let $f(x)=\prod_{n=1}^\infty (1+a_nx)=\sum_{n=0}^\infty e_nx^n$, where $e_n$ is the elementary symmetric polynomial in $(a_n)$. Then as observed in the comments, $e_n\in\mathbb{Z}/n!$, so if infinitely many $a_n>0$, then $e_n\ge1/n!$, which implies $f(x)\ge e^x$, or $\log f(x)\ge x$ for $x>0$. On the other hand, we can pick $N$ such that $\sum_{n=N}^\infty a_n<1/2$. Then $\sum_{n=N}^\infty \log(1+a_nx)<x/2$. Also $\sum_{n=1}^{N-1} \log(1+a_nx)=o(x)$, so $\log f(x)\le(1/2+o(1))x$, contradiction.