public String replace (char oldChar, char newChar) Он заменит все совпадения char
Возвращает новую строку, полученную в результате замены всех вхождений oldChar в этой строкеwith newChar.
Use replaceFirst()
public String replaceFirst(String regex, String replacement)
Заменяет первую подстроку этой строки, которая соответствует заданному регулярному выражению с заданной заменой.
В вашем коде измените это на
nowa = list[i].replace(list[i].charAt(0), list[i].toUpperCase().charAt(0));
Это
nowa = list[i].replaceFirst(String.valueOf(list[i].charAt(0)), String.valueOf(list[i].toUpperCase().charAt(0)));
Ввод: "lake_riverrrr"
Выход: lakeRiverrrr