In my opinion, the answer to your question is yes and no. But it also heavily depends how much data you have.
With regards to the thread title
If the user has not interacted with the thread yet, then I see no issues changing it. This is applicable if the user is subscribed to some kind of tag system.
If the user has responded to a thread already, then I wouldn't change it directly. What you can do is add a notification Thread ABC has been renamed to DEF. From this point on, you can use the new name. Just be careful that it doesn't get too noisy.
Since I'm assuming that these notifications link to the thread directly, be sure to update old references as well. The user will be confused if they go to a thread named "ABC" and when they get there it is named "DEF" Chances are, they'll think they clicked the wrong thing. Old threads that change their name probably should not receive a notification.
With Regards to Usernames
This one is a little more tricky. Common users tend to know the usernames of other common users. They also may know a person's username they've been having a conversation with.
So, if the user is new, responds to a thread, and then goes and changes their username before the user has seen the notification, I would say update it. It makes things more consistent.
If the user is responding to a thread for the first time, and they have no no (or perhaps minimal) interaction with the person you are notifying, then I would also say it can be changed.
For other cases, you can create a notification along the lines of User Jonny has change their name to John, and pin that to the top, followed by updating all other notifications.
Another option is to allow users to have a friends list. If somebody on a user's friends list changes their name, update them, and perhaps update any unread notifications to match.