When ASICs generate a share, is it always at difficulty 1? Are they preset to only return difficulty 1 shares when the find a nonce?  Then mining software verifies if it meets current target difficulty?  Or, if given a different target difficulty, will the ASIC only return shares that meet that difficulty setting?

If this is hardware specific, any idea which chips allow variation in the target difficulty?

The question in part stems from some misunderstandings I have seen on questions of what a share is.  Whether it is always a nonce found for difficulty 1, or if it is a nonce found for the target difficulty sent to the miner.  There are some confusing answers out there.
It's hardware specific, and most of the information for Bitcoin mining ASIC are under an NDA so this can't be posted publicly. There's very little utility in returning difficulty one shares to the controller, for a device doing 1TH/s it would mean dealing with hundreds of results a second that the controller is just throwing away. 

The difficulty of a "share" is whatever the hash target was, if we have a target of difficulty 256, then any valid block header with a difficulty more than this would make that "share" valid for the target. Shares with a vastly higher difficulty (in the billions today) might also be valid as a block for their parent pool. Shares are only used by pools to gauge how much work a client is putting into finding a block (they are simply blocks with too low of a difficulty to be valid), they're completely useless for anything else and thrown away.