Yes. As a German citizen, you are covered by the European Union's freedom of movement right.
However, with an expired passport, you may have some trouble asserting this. Some countries officially accept expired documents up to a certain point, but I don't know whether Italy is one, let alone for how long they accept them. You also have to worry about the airline.
For what it's worth, there's no explicit requirement for non-EU visitors to have a ticket for onward travel, just a more general requirement to have the means to support themselves and leave when they're supposed to. US citizens aren't usually subjected to much scrutiny in this regard, however.
As to a ticket to Germany, there's no need: If someone accepts your German nationality, it's superfluous, and if they don't, it won't help.
The simplest thing for you to do is get a new German passport or ID card, especially if you plan to stay in Italy or the Schengen area for more than 90 days. If that's not possible, however, you'll probably be fine with your expired passport.