Yes, this can be handled by creating the NP search object before opening the search page and then using the same object throughout the flow.
Do not create the search NP object inside the search page datasource every time, because whenever the page is loaded again, a new NP object will be created and the previous search values will be lost.
A better approach is:
Create Search_NP object → Open Search Page with Search_NP as page parameter → Use Search_NP attributes for filter/search values → Open Detail Page from selected result → On back/close, return to the same Search Page instance
The key point is to reuse the same NP object instead of creating a new one again and again.
So if the user searches for test, that value is stored in the NP object. When they open the test24 detail page and come back, the same NP object is still available, so the search criteria remains intact.