Во всех словарях эти слова трактуются как синонимы и означают неоднократное повторение чего-либо.
Однако, если проанализировать употребление этих наречий в литературных произведениях, в частности, в текстах песен, можно уловить еле заметные оттенки.
Слово "опять" окрашено некоторым негативом, безнадежностью. Повторяется то, что уже надоело, и хотелось бы, чтоб это прекратилось. Например, известная карина Федора Решетникова "Опять двойка" несет в себе такой трагизм! Одна собака рада мальчику, который не блещет успехами в учебе. И это повторяется, видимо, частенько, так как мать смотрит на сына с безнадежностью, сестра с осуждением, а брат со злорадством.
В данном случае для собаки мальчик СНОВА пришел домой, а для остальных - ОПЯТЬ принес двойку.
Если обратиться к текстам песен культовых исполнителей Виктора Цоя и Аллы Пугачевой, можно тоже увидеть разницу между "опять" и "снова". Наречие "снова" несет положительный заряд, надежду на другой результат, если начать сначала.
"И опять на вокзал, и опять к поездам, и опять проводник выдаст белье и чай,
И опять не усну, и опять сквозь грохот колес мне послышится слово: «Прощай!»" (В.Цой)
"Опять метель и мается былое в темноте... Опять метель, две вечности сошлись в один короткий день..." (А.Пугачева)
Или прочувствуйте песни со словом "снова":
"Снова за окнами белый день,
День вызывает меня на бой.
Я чувствую, закрывая глаза, —
Весь мир идет на меня войной." (В.Цой)
"Снова птицы в стаи собираются
Ждет их за моря дорога дальняя
Яркое веселое, зеленое
До свидания, лето, до свидания!" (А.Пугачева)
Здесь наречие "снова" несет энергетический заряд. Не повседневная рутина, а что-то новое, которое неизвестно, чем кончится.