Update: Upon a bit of reflection I decided that the original answer is unnecesarily long. What is really being computed is the homology of the graph. Let $C(V)$ be the vector space (over real numbers, since the flows are real) freely generated by the vertices, and $C(E)$ the vector space freely generated by the edges. We have the map $\delta: C(E) \mapsto C(v)$ which assigns to a flow (thought of as a weighted set of edges) the tuple of net flows through vertices. The question is what is it's kernel, which is of course the $H_1$ of the graph an is in fact exactly the subspace of cycles in $C(E)$.
(See the last paragraph for interpretation of what follows in this language.)
Original answer:
In fact you can certainly take any spanning tree $T$. The point is that any edge in the complement of $T$ can be completed to a cycle using edges in $T$ in a unique way, and the resulting cycles form a basis of the cycle space. This is your ambiguity.
The general statement is: Flows on the graph with prescribed sinks and sources are in bijection with the linear maps on the cycle space.
The argument is as follows:
We need two facts:
Fact 1) If the flow around any cycle is zero, then the flow actually comes from a potential - that is a function $f$ on vertices, such that flow on edge e is the difference of the value of $f$ on its head and its tail. This $f$ is uniquely determined by the flow up to an overall scalar (assuming the graph is connected; start at any vertex and any value of $f$ for it and fololow edges assigning the unique possible values for $f$ as you go; the flow around cycle being zero gurantees that you never assign contradictory values). We will show that this potential is also uniquely determined, up to overall scalar, by the net flow in each vertex, and as a consequence the corresponding flow on edges is uniquely defined.
Fact 2) If the net flow at each vertex is zero (no sources or sinks) then the flow is uniquely determined by a function on the cycle space.
Proof of Fact 1. Consider the map $Fl$ sending a potential $f$ to the set of net flows at each vertex. $Fl$ is linear, and constant potentials are in the kernel. I claim that this is the whole kernel. Indeed, if there is a vertex with a maximal potential, it will have a negative net flow from it, unless all its neighbours have the same potential. As the graph is connected, the only potentials with no flow at any vertex are constant ones.
$Fl$ is a map between vector spaces of the same dimension. As the kernel of $Fl$ is one dimensional, so is the cokernel. Note that $Fl$ lands in the subset of all tuples of net flows with the zero sum (in the summ of all net flows each edge is counted twice, once with plus and once with minus). Hence $Fl$ hits any net flow tuple with total flow zero, and any such tuple of net flows comes from unique potential, up to an overall scalar, as wanted. End of proof of Fact 1.
Proof of Fact 2: Given any linear function $G$ on the cycle space, we can define the flow $E=F(G)$ on each edge $e$ to be the sum of $G(c)$ for cycles $c$ with $e$ in $c$. This of course lands in the flows with zero net flow at each vertex (this is clear by considering what happens to a dual function to any cycle $c$ and the fact that the assignment $F$ is linear). Observe that there is a basis $c_k$ of the cycle space and edges $e_k$ with $e_k$ in $c_k$ and no $c_l$ for $l \neq k$ (the edges in the complement of the spanning tree will do), so $F$ is injective. Finally, dimension count shows $F$ is an isomorphism. End of proof of Fact 2.
Now if we fix a collection of sources and sinks, this determines a unique flow $E$ which is zero on cycles by Fact 1. The difference of any flow $E'$ with these sinks and cycles and $E$ has zero net flow on each vertex, and hence corresponds to a linear function on the cycle space by Fact 2. The end.
(Of original answer.)
Comment:
What the long argument above does is as folows: One can view flows as cochains instead of chains. That is, since $C(E)$ comes with a basis, it has a prefered isomorphism $I_e$ to $\operatorname{Hom}(C(E), \mathbb{R})$. Similarly there is a prefered isomorphism $I_v$ from $C(v)$ to $\operatorname{Hom}(C(V), \mathbb{R})$. The map $\delta$ has the dual $\delta ^*:\operatorname{Hom}(C(V), \mathbb{R}) \mapsto \operatorname{Hom}(C(E), \mathbb{R})$ sending a potential (thought of as a map from vertices to $\mathbb{R}$) to its flow (there should be a (non-commutative) diagram here). Fact 1 above is that the composition $\delta \cdot I_c \cdot \delta^*$ is an isomorphism from $\operatorname{Hom}(C(V), \mathbb{R})/\operatorname{constants}$ to $\operatorname{Im} \delta$. Fact 2 is that the kernel of $\delta$ is the cycle space (or its dual). All of this presumably in some standard book.