An approach that only uses binomial theorem and infinite geometric series.
Lemma: If $b_n$ is a sequence such that $nb_n\to 0,$ then $(1+b_n)^n\to 1.$
Proof: Since $nb_n\to 0,$ we can find $N$ so that $|nb_n|<1$ for $n>N.$
Then $(1+b_n)^n=\sum_{k=0}^{n}\binom{n}{k}b_n^k.$
So since $\binom nk\leq {n^k},$
We have for $n>N,$ $$|g_n^n-1| \leq \sum_{k=1}^n|nb_n|^k \leq \sum_{k=1}^\infty|nb_n|^k =\frac{|nb_n|}{1-|nb_n|}.$$
The right side goes to $0$ as $n\to\infty,$ so the Lemma is done.
Now, let:
$$b_n=\frac{1+\frac{a_n}n}{1+\frac an}-1=\frac{a_n-a}{n+a}.$$
Then $nb_n\to 0,$ since $\frac{n}{n+a}\to 1$ and $a_n-a\to 0.$
So, by the lemma: $$(1+b_n)^n=\left(\frac{1+\frac{a_n}n}{1+\frac an}\right)^n\to1$$
But this means $$\lim_{n\to\infty}\left(1+\frac{a_n}n\right)^n=\lim_{n\to\infty} \left(1+\frac{a}n\right)^n=e^a$$
Essentially, the lemma is the case $a=0.$ Then $b_n=a_n/n.$
This is a rewrite of an old answer of mine, which also shows how you can use this lemma to prove $e^{i\theta}=\cos(\theta)+i\sin(\theta).$