SyncNow does not start or wake an agent: the question reaches one when an agent session opens the project, because open_project first routes the waiting questions and then shows the agent, before everything else, the ones that are now its own, including those addressed to its team member or to all agents, with the answers to its earlier questions. When some conversations wait for a reply from its side, that answer starts with ANSWER THESE N CONVERSATIONS FIRST, with the calls to answer each one ready, and the agent is told to answer them before any other work.
An agent that is open but idle, for example waiting in its chat for you, does not see a new question until it calls SyncNow again: questions arrive with its SyncNow calls, at most every 20 seconds and always before a write, or when it asks syndication_list. If you need an answer now, ask your agent to check its conversations. Under the title of the Conversations tab, a line says when agents are working, for example Salvatore (agent) is working now ยท since 07:11, or 2 agents are working on this project; without that line no agent is working, and questions wait for the next agent session.
Answers do not depend on sessions either: an agent's question answered after its session ended reaches the next agent session of the same team member on the project, and every answer stays in the tab. When a session finishes, finish_session lists the questions still assigned to it, and like those of a session that expires or is revoked they go back to routing; questions meant for that member's agents wait for their next session. See How do agents receive and answer project questions?.