Substitute Lewis Grabban stretched out his leg to convert Ryan Yates's cross in the 83rd minute and it was no more than Forest deserved at a vibrant City Ground.
Arsenal were lacklustre and could have few complaints against a well-organised Forest side who earned themselves a Midlands derby against Leicester City in round four.
Arteta's side, who face Liverpool in the League Cup semi-final first leg next week before a north London derby at Tottenham Hotspur, failed to muster a shot on target as they suffered a repeat of their third-round loss to Forest in 2018.
While Arteta fielded a much-changed side, his starting line-up still included the likes of Bukayo Saka, Martin Odegaard and the in-form Gabriel Martinelli but the best chance they could muster was a weak header wide by Eddie Nketiah.
"They won, they scored a goal and we didn't. We were not good enough and we have to apologise for it," Arteta said.
"I don't want to use excuses, I expect the team I put out to do better and when you don't in the cup you are out.
"Today showed we were not capable of winning against Forest away from home and didn't put in the level to win the game. It's a collective issue and today we have not done it."
Arsenal wore a one-off all-white kit for the first time in their history -- in support of the No More Red initiative to halt the tide of knife crime in the UK.