I agree with Rahul that, since you've got a single, one dimensional equation indexed by a single parameter, a bifurcation diagram is a natural way to visualize this situation. If you want an animation or dynamic image, you might highlight one particular phase line as a function of $a$. You could also display the slope field of the system right along side of the phase diagram. The result looks something like so.

Note that I prefer to draw the solution through a simple slope field, rather than through the groovy StreamPlot because I think that's a simpler concept - particularly, for undergraduate students who I interact with a lot. I've also oriented the vertical $x$ axis in both plots in the same direction and used graphics primitives there to grab a little more control over the image.
Here's code for an interactive version of this that also includes a locator on the slope field allowing you to specify the initial condition.
Needs["DifferentialEquations`InterpolatingFunctionAnatomy`"]; Clear[slopeField, slopeFieldWithSol]; slopeField[a_?(# < 0 &)] := VectorPlot[ {1, -x^4 + 5 a x^2 - 4 a^2}, {t, -4, 4}, {x, -4, 4}, VectorScale -> {0.03, Automatic, None}, VectorStyle -> {Gray, Arrowheads[0]}]; slopeField[a_?(# >= 0 &)] := Show[{ VectorPlot[ {1, -x^4 + 5 a x^2 - 4 a^2}, {t, -4, 4}, {x, -4, 4}, VectorScale -> {0.03, Automatic, None}, VectorStyle -> {Gray, Arrowheads[0]}], Plot[{-2 Sqrt[a], -Sqrt[a], Sqrt[a], 2 Sqrt[a]}, {t, -4, 4}, PlotStyle -> Directive[Black, Dashed]] }]; slopeFieldWithSol[a_, p_] := Module[{t, x, t0, x0, eq, ic, eqs, sol, xf, ifd, tRange, plot}, {t0, x0} = p; eq = x'[t] == -x[t]^4 + 5 a*x[t]^2 - 4 a^2; ic = x[t0] == x0; eqs = {eq, ic}; Quiet[sol = First[NDSolve[eqs, x, {t, -4, 4}]], NDSolve::ndsz]; xf = x /. sol; ifd = InterpolatingFunctionDomain[xf]; tRange = {t, ifd[[1, 1]], ifd[[1, 2]]}; plot = Plot[xf[t], Evaluate[tRange], PlotStyle -> {Thick, Black}, PlotRange -> {{-4, 4}, {-4, 4}}]; Show[{slopeField[a], plot}, PlotRange -> {{-4, 4}, {-4, 4}}] ]; Clear[phaseLine, phaseDiagram, phaseDiagramWithLine]; phaseLine[a_?(# < 0 &), ___] := {ColorData[1, 2], Arrow[{{a, 4}, {a, -4}}]}; phaseLine[0, eps_] = phaseLine[0.0, eps_] = {ColorData[1, 2], Arrow[{{0, 4}, {0, eps}}], Arrow[{{0, -eps}, {0, -4}}] }; phaseLine[a_?(# > 0 &), eps_] := { Arrowheads[Medium], ColorData[1, 2], Arrow[{{a, 4}, {a, 2 Sqrt[a] + eps}}], ColorData[1, 1], Arrow[{{a, Sqrt[a] + eps}, {a, 2 Sqrt[a] - eps}}], ColorData[1, 2], Arrow[{{a, Sqrt[a] - eps}, {a, -Sqrt[a] + eps}}], ColorData[1, 1], Arrow[{{a, -2 Sqrt[a] + eps}, {a, -Sqrt[a] - eps}}], ColorData[1, 2], Arrow[{{a, -2 Sqrt[a] - eps}, {a, -4}}] }; phaseDiagram = ParametricPlot[{{x^2/4, x}, {x^2, x}}, {x, -4, 4}, PlotRange -> {{-1, 4}, {-4, 4}}, PlotStyle -> Directive[Thickness[0.007], Black], Epilog -> {Opacity[0.4], Table[phaseLine[a, 0.1], {a, -0.7, 4, 0.2}]}]; phaseDiagramWithLine[a_] := Show[{phaseDiagram, Graphics[{Thick, phaseLine[a, 0.1], If[a >= 0, {PointSize[Large], Point[{a, #} & /@ {2 Sqrt[a], Sqrt[a], -Sqrt[a], -2 Sqrt[a]}]}, {}]}]}]; Manipulate[Grid[{{ Show[slopeFieldWithSol[a, p], ImageSize -> 300], Show[phaseDiagramWithLine[a], ImageSize -> {Automatic, 300}] }}, Spacings -> 3], {{a, 0}, -1, 4}, {{p, {0, 1}}, {-4, -4}, {4, 4}, Locator}]
The animated gif was generated in a manner almost identical to the Manipulate. I just specified a particular p value $(-1.2,1.2)$, changed Manipulate to Table (which required me to change the a specification slightly), and Exported the result to a GIF.
pics = Table[Grid[{{ Show[slopeFieldWithSol[a, {-1.2, 1.2}], ImageSize -> 300], Show[phaseDiagramWithLine[a], ImageSize -> {Automatic, 300}] }}, Spacings -> 3], {a, -1, 4, 0.1}]; Export["temp.gif", pics]