Method 1. One can always use the Smith Normal Form when trying to determine the isomorphism type of subgroups and quotients of $\mathbb{Z}^r$.
So we can apply it directly to the second problem. As for the first, we can use the isomorphism theorems: remember that we can view $\mathbf{Z}_4\times\mathbf{Z}_4\times\mathbf{Z}_8$ as a quotient of $\mathbf{Z}\times\mathbf{Z}\times\mathbf{Z}$ by the subgroup $\langle (4,0,0), (0,4,0), (0,0,8)\rangle$. The subgroup generated by $(1,2,4)$ in the quotient corresponds to the subgroup $\langle (4,0,0), (0,4,0), (0,0,8), (1,2,4)\rangle$ of $\mathbf{Z}\times\mathbf{Z}\times\mathbf{Z}$. Using the Smith Normal Form, we can then obtain a "nice" basis for the latter group and the subgroup in question (where each element of the basis of the subgroup is an integer multiple of a distinct element of the basis of the overgroup), and easily determine the isomorphism type of the quotient.
Method 2. For a more pedestrian approach to the first problem:
Remember that if $A$ is an abelian group, then a subset $a_1,\ldots,a_n$ is "independent" if and only if whenever $m_1a_1+\cdots+m_na_n=0$, with $m_i\in\mathbb{Z}$, then $m_ia_i=0$ for all $i$; this is a generalization of the usual notion of "linearly independent".
I claim that $(1,2,4)$, $(0,1,0)$, and $(0,0,1)$ are independent in $A=\mathbf{Z}_4\times\mathbf{Z}_4\times\mathbf{Z}_8$, and that they generate the group.
The fact that the generate is easy: we can obtain $(1,0,0)$ from these three as $(1,0,0) = (1,2,4) - 2(0,1,0) - 4(0,0,1),$ hence $(1,0,0)$, $(0,1,0)$, and $(0,0,1)$ are all in the subgroup generated by the three elements; since these plainly generate $A$, our set does as well.
As for independent, suppose that $m_1(1,2,4) + m_2(0,1,0) + m_3(0,0,1) = (0,0,0).$ Then $m_1\equiv 0\pmod{4}$, $2m_1+m_2\equiv 0\pmod{4}$, and $4m_1+m_3\equiv 0\pmod{8}$. From these, it easily follows that $4|m_1$, $4|m_2$, and $8|m_3$, so $m_1(1,2,4)=m_2(0,1,0)=m_3(0,0,1) = (0,0,0)$.
This means that we can express $A$ as $A = \langle (1,2,4)\rangle \times \langle (0,1,0)\rangle \times \langle (0,0,1)\rangle.$ Figuring out what happens when you mod out by $\langle(1,2,4)\rangle$ is now trivial.