Can we change database owner from [NT SERVICE\SQLSERVERAGENT] to [sa] I have some list of databases with different owners. 

Among them [NT SERVICE\SQLSERVERAGENT] is the owner of one database (let's say db_name ='Test_db_repli').

Can we change the owner of that particular database to [sa]?

If changed, will there be any problems in the future?
Answering your first question


  Can we change the owner of that particular database to [sa]?


Yes, you can change the owner of any database using the ALTER AUTHORIZATION ON DATABASE ... command.

ALTER AUTHORIZATION ON DATABASE::Test_db_repli TO sa;


Answering your second question


  If changed, will there be any problems in the future?


This is something we cannot answer, because we don't know your environment. There might have been a reason in the past to run the database using the NT SERVICE\SQLSERVERAGENT account. Providing additional details on what the database was used for could give the community an idea why the database was set up to have that specific account defined as database owner.