Is there a fundamental reason that $\int_b^a = -\int_a^b$
Go back to the definition of $\int_a^b f(x)\,dx$ as the limit of a Riemann sum. Look at how $\Delta x$ was defined. Therein lies your answer.
Remember when integrating from $a$ to $b$, we had $\Delta x_i = x_{i+1}-x_i$ whereas if we integrate from $b$ to $a$, then $\Delta x_i=x_i-x_{i+1}$, which is the negative of the $\Delta x$ result before.
In order to deal with this question one has to distinguish (i) integrals with respect to a measure and (ii) integrals over a chain. For integrals over real intervals$[a,b]$ they are pretty much the same, therefore the difference does not become visible in everyday notation.
(i) After constructing Lebesgue measure $\mu$ on ${\mathbb R}$ and the integral with respect to this measure it makes sense to consider expressions like $$\int_{[a,b]} f\ {\rm d}\mu\ .$$ Here $-\infty<a\leq b<\infty$, and the interval $[a,b]$ is just a measurable set, but has no forward or backwards orientation. (I use the roman ${\rm d}$ to indicate that the "unsigned measure" is meant.)
(ii) Contrasting this, the Riemann integral $$\int_a^b f(x)\ dx\ :=\ \lim_\ldots\ \sum_{k=1}^N f(\xi_k)\ (x_k-x_{k-1})$$ is conceptually an integral over a chain $\gamma$. The factors $(x_k-x_{k-1})$ are meant to be small differences, not measures of small intervals. The chain $\gamma$ connects the points $a$ and $b$, starting at $a$ and ending at $b$, and $b<a$ is allowed. In any case the boundary of this chain is the formal sum $\{b\}-\{a\}$. In this setup it is obvious that for arbitrary $a$, $b$, $c$ one has $$\int_b^a f(x)\ dx=-\int_a^b f(x)\ dx\ ,\quad \int_a^c f(x)\ dx=\int_a^b f(x)\ dx+\int_b^c f(x)\ dx\ .$$ The fundamental theorem of calculus, together with the accompagning set of rules for handling integrals, is based on this interpretation of the integral.
It is a fact that for reasonable $f$ and $a\leq b$ one has $$\int_{[a,b]} f\ {\rm d}\mu =\int_a^b f(x)\ dx\ .$$ Therefore we tend to replace the notation on the LHS of this equation by the notation on the RHS even in cases where only the Lebesgue integral makes sense.
I want to answer your question with Lebesgue integrals, as you ask, but the fact is that the machinery for the measure does not take this into account at all (the measure of a subset of $\mathbb R$, using the standard measure or the counting measure, is always positive). I remember having a similar issue with signed area when learning about line integrals (absolute value signs always rub me the wrong way). The answer is that it makes the addition formula hold, even in the Lebesgue sense, in the following way:
Define $\bar\int_S\,f=-\int_Sf$. The idea is that $\bar\int$ "undoes" integrals, so if $B\subset A$, then $\int_A f+\bar\int_B\,f=\int_{A-B} f$, analogous to $\int_A f+\int_B\,f=\int_{A\uplus B} f$ if $A\cap B=\emptyset$, and $\int_A f+\bar\int_A\,f=0$. But this way, we can erase more than the whole integral: $B\subset A$ implies $$\int_A f+\bar\int_B\,f=\bar\int_{B-A} f,$$ where now $\bar\int_{B-A} f$ is supposed to represent negative integration over the set. It's nothing but algebraic trickery, but it's supposed to make you think in terms of being able to integrate backwards over things. Thus, we can define $[a,b]=\overline{[b,a]}$, where I'm abusing my own notation here to indicate that this set is supposed to be integrated negatively, and $\int_{[a,b]} f=\bar\int_{[b,a]} f\Rightarrow\int_a^b=-\int_b^a$. It's a lot of notation for very little gain, but hopefully I've convinced you that this can be made to make some sense. It's certainly useful to be able to say $\int_0^x dt=x$ instead of $\int_0^x dt=|x|$!
Edit: For sums, the counting measure assigns $1$ to every point in $\mathbb Z$, but the same rule applies. For $A=[a,b)\cap\mathbb Z$, we get $\int_Af=\sum_{i=a}^{b-1}f$, and for the disjoint union rule, we have, if $B=[b,c)\cap\mathbb Z$ is disjoint with $A$, $$\int_Af+\int_Bf=\int_{A\uplus B}f\Rightarrow\sum_{i=a}^{b-1}f+\sum_{i=b}^{c-1}f=\sum_{i=a}^{c-1}f.$$
(Note how the $-1$'s appear. This is an artifact of the definition of a sum as $\sum_a^b=\sum_{[a,b]\cap\mathbb Z}$, using the closed, rather than the half-open interval, which behaves nicer w.r.t. addition. Every programmer who writes for (int i=0;i<N;i++)
knows this.) Rearranging this identity, we get, for a negative sum $\overline{[a,b)\cap\mathbb Z}=(b,a]\cap\mathbb Z=[b-1,a-1)\cap\mathbb Z$,
$$\sum_{i=b}^{c-1}f-\sum_{i=a}^{c-1}f=-\sum_{i=a}^{b-1}f:=\overline\sum_Af:=\sum_{i=b}^{a-1}f.$$
I've chosen the limits on the last definition to be consistent with our addition rule, because I can now rearrange to get
$$\sum_{i=b}^{c-1}f=\sum_{i=b}^{a-1}f+\sum_{i=a}^{c-1}f,$$
which looks identical to the first addition rule, except now $a<b$, so one is a backwards sum. Thus:
$$\sum_{i=b}^{a-1}f=-\sum_{i=a}^{b-1}f\Rightarrow\sum_{i=b}^af=-\sum_{i=a+1}^{b-1}f.$$