What server language?
I would add a column to my cart called "Engraving"
Then I would create a calculations in the cart:
TruePrice = [Price] + (([Engraving]!="")?5:0)
and I would update the calculation:
TotalPrice = ([Price] + (([Engraving]!="")?5:0)) * [Quantity]
Then update the cart display to show "TruePrice" instead of "Price"