Is it true that, as $\Bbb Z$-modules, the polynomial ring and the power series ring over integers are dual to each other?
Yes: this is an old chestnut. Let me write $\oplus_n\mathbf{Z}$ for what you call $\mathbf{Z}[x]$ and $\prod_n\mathbf{Z}$ for what you call $\mathbf{Z}[[x]]$ (all products and sums being over the set {$0,1,2,\ldots$}). Clearly the homs from the product to $\mathbf{Z}$ contain the sum; the issue is checking that equality holds. So say I have $f:\prod_n\mathbf{Z}\to\mathbf{Z}$ and let me prove $f$ is in the sum.
Let $e_n$ ($n\geq0$) be the $n$th basis element in the product (so, what you called $x^n$). First I claim that $f(e_n)=0$ for all $n$ sufficiently large. Let's prove this by contradiction. If it were false then I would have infinitely many $n$ with $f(e_n)\not=0$, so by throwing away the $e_n$ such that $f(e_n)=0$ (this is just for simplicity of notation; otherwise I would have to let this infinite set of $n$ be called $n_0$, $n_1\ldots$ and introduce another subscript) we may as well assume that $f(e_n)=c_n\not=0$ for all $n=0,1,2,\ldots$. Now choose any old integers $d_i$ such that $\tau:=\sum_{i\geq0}2^id_ic_i$, a 2-adic integer, is not in $\mathbf{Z}$ (this can easily be done: infinitely many $d_i$ are "the last to change a binary digit of $\tau$" and hence one can recursively rule out all elements of $\mathbf{Z}$), and consider the integer $t:=f(\sum_{i\geq0}2^id_ie_i)\in\mathbf{Z}$. The point is that $\sum_{i\geq N}2^id_ie_i$ is a multiple of $2^N$ in the product, and hence its image under $f$ must be a multiple of $2^N$ in $\mathbf{Z}$. So one checks easily that $t-\tau$ is congruent to zero mod $2^N$ for all $N\geq1$ and hence $t=\tau$, a contradiction.
[Remark: in my first "answer" to this question, I stopped here. Thanks to Qiaochu for pointing out that my answer wasn't yet complete.]
We deduce that $f$ agrees with an element $P$ of the sum on the subgroup $\oplus_n\mathbf{Z}$ of $\prod_n\mathbf{Z}$. So now let's consider $f-P$; this is a map from the product to $\mathbf{Z}$ which is zero on the sum, and our job is to show that it is zero. So far I have used the fact that $\mathbf{Z}$ has one prime but now I need to use the fact that it has two. Firstly, any map $(\prod_n\mathbf{Z})/(\oplus_n\mathbf{Z})\to\mathbf{Z}$ is clearly going to vanish on the infinitely $p$-divisible elements of the left hand size for any prime $p$ (because there are no infinitely $p$-divisible elements of $\mathbf{Z}$ other than $0$). In particular it will vanish on elements of $\prod_n\mathbf{Z}$ of the form $(c_0,c_1,c_2,\ldots,c_n,\ldots)$ with the property that $c_n$ tends to zero $p$-adically. Call such a sequence a "$p$-adically convergent sequence". But using the Chinese Remainder Theorem it is trivial to check that every element of $\prod_n\mathbf{Z}$ is the difference of a 2-adically convergent sequence and a 3-adically convergent sequence, and so now we are done.
Remark: I might be making a meal of this. My memory of what Kaplansky writes is that he uses the second half of my argument but does something a bit simpler for the first half.
I give this problem each year in a problem-solving seminar. Here is the solution that I wrote up. I am using $f$ instead of $\varphi$ and $e_n$ instead of $x^n$.
Let $x=(x_1,x_2,\dots)$. Since $2^n$
and $3^n$ are relatively prime, there are integers $a_n$ and $b_n$
for which $x_n=a_n2^n+b_n3^n$. Hence $f(x)=f(y)+f(z)$, where $y =
(2a_1, 4a_2, 8a_3,\dots)$ and $z=(3b_1,9b_2,27b_3,\dots)$. Now for
any $k\geq 1$ we have
$$ f(y) = f(2a_1,4a_2,\dots,2^{k-1}a_{k-1},0,0,
\dots) $$
$$ \qquad + f(0,0,\dots,0,2^ka_k,2^{k+1}a_{k+1},\dots) $$
$$ \qquad= 0+2^kf(0,0,\dots,0,a_k,2a_{k+1},4a_{k+2},\dots). $$
Hence $f(y)$ is divisible by $2^k$ for all $k\geq 1$, so
$f(y)=0$. Similarly $f(z)$ is divisible by $3^k$ for all $k\geq
1$, so $f(z)=0$. Hence $f(x)=0$.
Now let $a_i=f(e_i)$. Define integers $0< n_1 < n_2 <\cdots$ such that for all $k\geq 1$, $$ \sum_{i=1}^k|a_i|2^{n_i} < \frac 12 2^{n_{k+1}}. $$ (Clearly this is possible --- once $n_1,\dots,n_k$ have been chosen, simply choose $n_{k+1}$ sufficiently large.) Consider $x=(2^{n_1}, 2^{n_2}, \dots)$. Then $$ f(x) = f(a_1e_1 + \cdots + a_k e_k +2^{n_{k+1}} (e_{k+1}+2^{n_{k+2}-n_{k+1}}e_{k+2}+\cdots))$$ $$ \qquad= \sum_{i=1}^ka_i 2^{n_i}+2^{n_{k+1}}b_k, $$ where $b_k=f(e_{k+1}+2^{n_{k+2}-n_{k+1}}e_{k+2}+\cdots)$. Thus by the triangle inequality, $$\left| 2^{n_{k+1}}b_k\right| < \left| \sum_{i=1}^k a_i 2^{n_i}\right| + |f(x)| $$ $$ \qquad < \frac 12 2^{n_{k+1}} + |f(x)|. $$ Thus for sufficiently large $k$ we have $b_k=0$ [why?]. Since $$ b_j - 2^{n_{j+2}-n_{j+1}}b_{j+1}=f(e_{j+1})\ \ \mbox{[why?]}, $$ we have $f(e_k)=0$ for $k$ sufficiently large.}
I think so. Let $f$ be a homomorphism from $\mathbb Z[[x]] $ to $\mathbb Z$. WRONG: Let $f(x^i)=a_i$. Then since $f(1+x+x^2...) \in \mathbb Z$, we must have $a_i=0$ for $i\gg 0$. So each map can be identified with an element in $\mathbb Z[x]$.
An attempt at redemption: I actually found a reference on when the dual of direct product of a ring is direct sum:
http://www-users.mat.umk.pl/~gregbob/seminars/2008.11.07b.pdf