Dogs do forgive, but it may not be the same type of forgiveness you'd recognize within the human emotional spectrum.
Dogs feel emotions, but theirs are a bit less complex than humans.
Because dogs don't harbor resentments or grudges, they cannot necessarily "forgive" in the true sense of the word.