Tickets are placed in "containers". These containers are called Departments
Agents will not see a ticket at all unless they have access to the Department that a ticket is placed in.
Tickets can be assigned to a Team and/or an Agent. If a ticket is in a Department that an Agent does not have access to, but it is assigned to them or a Team they are in than they can see it.
There is no special setup that you need to do for this functionality. Additionally Departments can be configured to only allow a Agents to see tickets assigned directly to them (mentioned in my first response on this thread).
As a side note if Department A transfers a ticket to Department B there is a thing called referral access that can be maintained at time of transfer so that the original agent/dept can still see the ticket.
Agents do not own tickets. Only Users own tickets. If an Agent opens a ticket using their email address it still does not belong to the Agent account. The system creates a user account for the email, and the ticket belongs to the User account. For an Agent to see all tickets that their User account owns they have to log out of their Agent account (and the Staff Control Panel) and log in as a User to see all their tickets.