There are indeed some differences between the two:
From RAE
ahora.
(De agora).
adv. t. A esta hora, en este momento, en el tiempo actual o presente.
adv. t. Poco tiempo ha. Ahora me lo han dicho.
adv. t. Dentro de poco tiempo. Ahora te lo diré.
adv. t. Am. hoy.
conj. distrib. Ahora hable de ciencias, ahora de artes, siempre es atinado su juicio.
conj. advers. Pero, sin embargo.
ya.
(Del lat. iam).
adv. t. Denota el tiempo pasado. Ya hemos hablado de esto más de una vez.
adv. t. Inmediatamente, ahora mismo. U. t. en sent. enfático. Aumento de salarios, ya.
adv. t. En el tiempo presente, haciendo relación al pasado. Era muy rico, pero ya es pobre.
adv. t. En tiempo u ocasión futura. Ya nos veremos. Ya se hará eso.
adv. t. Finalmente o últimamente. Ya es preciso tomar una resolución.
adv. t. Luego, inmediatamente. U. cuando se responde a quien llama. Ya voy. Ya van.
adv. t. U. como conjunción distributiva. Ya en la milicia, ya en las letras. Ya con gozo, ya con dolor.
adv. t. U. para conceder o apoyar lo que nos dicen. Ya se ve. Ya entiendo.
Ya, as you said is now and already
Ahora has some other subtleties, ahora also means now and already
BUT:
Ya is more immediate, in this precise moment in time. Ahora can mean in the close future, or something that is in the process of being done.
Additionally ahora can be used as a conjunction for example:
Ahora bien
Translated into
Nevertheless, Even though, nonetheless...
Now the main difference between the two is that ya is in the PAST, and ahora may be in the PRESENT or in the FUTURE
For example:
Ahora vamos al cine, espero que vengas.
We are going to the cinema, I hope you come.
As per comments:
Ahora mismo means right now, that would be adjusting the meaning for the immediate present, it makes an emphasis with mismo, making it even more immediate than ya. Ya and ahora mismo mean almost the same thing, but there is a nuance. Ahora mismo has a sense and tone of urgency with no need of exclamation marks. But IMHO if ya has the exclamation marks then it would be the equivalent as ahora mismo.
Ahora mismo != ya
Ahora mismo == ¡Ya!
As for ahorita can mean many things and is mostly used in slang. What are these many things well, ahorita is specific of time, you can't say "ahorita que" (okay actually you can but it sounds horribly awkward), usually ahorita can mean in the close future. In 10 or 5 minutes.
Ahorita voy a lavar mi ropa mamá.
I will go soon to wash my clothes mom.