Zauważ, że w wywołaniu funkcji wewnątrz funkcji:
int i=tab[rozmiar];
return sumaa + suma(tab, rozmiar-1, sumaa+i);
Już zwiększasz wartość zmiennej sumaa w wywołanej funkcji poprzez "sumaa+i". A więc funkcja rekurencyjnie zwróci wartość nowej sumy, ale do tego jeszcze doda wartość obecnej zmiennej sumaa, co znacząco zwiększy wynik. Wystarczy usunąć jedno dodawanie:
int i=tab[rozmiar];
return suma(tab, rozmiar-1, sumaa+i);
Poza tym warto bardziej urozmaicać nazwy zmiennych, bo suma i sumaa mogą się mylić:)