If two months after nurture is launched, I want to switch out an email and promote another piece of content. How would I use the same email in nurture to prevent a person from receiving it twice? Should I "move" that asset into the EP?
First, you'll want to use nested programs rather than single emails so that you can include custom logic within smart campaigns - if you're looking at doing anything more than the basic EP capability with emails (see: Adding a Program to an Engagement Program Stream - Marketo Docs - Product Docs). But your statement is contradictory: You say you're going to "switch out an email", and then say "use the same email". Which is it? That being said, if you want to include a new piece of content, you would simply add another nested program. Any lead that's not already a member of the program (or received the email in that program) will qualify to receive the email during the applicable cast.
I'm just trying not to send a person the same content offer twice if they already downloaded it from a prior campaign, social or from the website.
Assuming you have dedicated programs available to track engagement with the same content that you're promoting in your EPs, you would simply include a filter in the smart campaign of the program that says "member of program is FALSE" and they will not qualify for that email and skip to the next one during the next cast: