Three ideas come to mind:
1. Probably the best way to go here - You could create a product called Optional Tip, and make it a "Related Product" on each of the wines. Using our Upsell Overlay feature, this item would pop up in a box when the customer clicks checkout, that says something like "may we also suggest", or "Would you like to leave a tip?" At that time the person could click that product to add a tip.
In this case the Optional Tip product could be set up two ways - you could set it up so that a customer can select or fill in the tip amount (test whether bid pricing fill in works here), OR, you could create 2 or 3 different optional tip options (add a $5 tip, add a $10 tip, add a $15 tip), all of which are related products and show up in the pop up box, so folks could easily choose one and add it with a single click right from the pop up.
2. You could create a "required" product, named Optional Tip. That product could have various optional "prices", like $0, $2, $5, $10, or you could create it as a bid price item where folks fill in whatever number they want (You'd have to test whether $0 works on a bid price item).
In this case the customer would not be able to check out without making a selection in this product and adding it to the cart.
3. You could create an attribute on each wine product called, for example, Add a Tip. This attribute could have several options, $0 being the default, but they could choose $1, $2, $3, whatever... This selection would be available on every bottle, rather than on an order basis like the two options above.