You can use an external bindings file to customize your property name.  In order for JAXB to recognize the method as a property it must follow the convention of starting with get or is for boolean types.
schema.xsd
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:complexType name="root">
      <xs:attribute name="is-buy-now" type="xs:boolean"/>
   </xs:complexType>
</xs:schema>
bindings.xml
In the bindings file below we have specified a property name for the XML attribute called is-buy-now:
<jxb:bindings 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
    version="2.1">
    <jxb:bindings schemaLocation="is.xsd">
        <jxb:bindings node="//xs:complexType[@name='root']/xs:attribute[@name='is-buy-now']">
        <jxb:property name="buyNow"/>
        </jxb:bindings>
    </jxb:bindings>
</jxb:bindings>
XJC Call
The -b option is used to specify a bindings file:
xjc -d out -b bindings.xml schema.xsd
Root
As a result the following class will be generated with: isBuyNow and setBuyNow methods:
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2012.02.03 at 05:18:59 AM EST 
//
package generated;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>Java class for root complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * <complexType name="root">
 *   <complexContent>
 *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       <attribute name="is-buy-now" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 *     </restriction>
 *   </complexContent>
 * </complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "root")
public class Root {
    @XmlAttribute(name = "is-buy-now")
    protected Boolean buyNow;
    /**
     * Gets the value of the buyNow property.
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isBuyNow() {
        return buyNow;
    }
    /**
     * Sets the value of the buyNow property.
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setBuyNow(Boolean value) {
        this.buyNow = value;
    }
}
UPDATE
If you start from Java classes you can specify @XmlAccessorType(XmlAccessType.FIELD) to map to fields and name your methods as you choose:
@XmlAccessorType(XmlAccessType.FIELD)
public class Root {
    @XmlAttribute(name="has-buy-now")
    private boolean buyNow;
    public boolean hasBuyNow() {
        return buyNow;
    }
}