You have curved quotes in the source partial. The console output shows this:
...<p>This agreement (“<b>Agreement</b>”)...
Curved quotes are UTF-8 characters, however PDFKit is parsing them as ASCII by default. See this question.
EDIT: Passing in a directly-rendered string requires the string to use UTF-8 encoding. Ruby 1.9 does this by default. In Ruby 1.8, try the following:
html = render_to_string :partial => "agreement", :encoding => "UTF-8"