It would certainly be possible. The REST API will let you upload xml that would change the values.
The xml you would upload will look like this:
<computer>
<general>
<site>
<id>1</id>
<name>Example Site</name>
</site>
</general>
</computer>
and the script to do the upload would look like:
#!/bin/sh
apiURL="https://your.jss.url"
apiUser="apiuser"
apiPass="apipassword"
# Get serial number of Mac so it can be identified in the JSS
#serial=$(system_profiler SPHardwareDataType | grep 'Serial Number (system)' | awk '{print $NF}')
serial="MacSerialNumber"
# Upload the xml file
curl -sfku $apiUser:$apiPass $apiURL/JSSResource/computers/serialnumber/$serial/subset/general -T /private/tmp/path.to.xml -X PUT
exit 0
Add the script to a policy and it will change the site value.
NOTE: I've used variations of this script but in this case these are just examples and should be tested and adapted for your own use :)
Hope this helps.