Perl 6, 3231 bytes
*>>.&{(try $_-1)||.succ.comb[0]||chr ord ++$_}
Anonymous Whatever lambda that maps each element to the list and attempts to subtract one from it, otherwise incrementing it and taking the first character in the case that z
wraps over to aa
.